SQL ServerのLIKE条件文で正規表現を使用する

SQL Serverデータベース
この記事は約1分で読めます。

SQL文の「LIKE」条検文。

使用できるのはワイルドカードの「%」と「_」のみだと思ってたが。

SQL Serverでは「[]」を使用して、簡単な正規表現が使用できることを初めて知った。

なお、今回のバージョンは以下です。

  • SQL Server Standard 2008 R2

使い方はこんな感じ。

--先頭がA、B、Cで始まるデータ
SELECT *
  FROM STAFF
 WHERE ID LIKE '[A-C]%'

--先頭がA、B、Cで始まらないデータ
SELECT *
  FROM STAFF
 WHERE ID LIKE '[^A-C]%'

ただし、LIKE条件文は索引(INDEX)が使用されない場合があるので、多用は注意が必要。

Oracleの場合は、LIKE検索の中間一致・後方一致の場合、索引(INDEX)が使用されないので、データの検索が遅くなる。

SQL Serverの場合は…そのうち調べとくか。

参考サイト

検索条件のパターン照合

LIKE検索(中間一致、後方一致)のパフォーマンス改善~Oracle Textで全文検索 (オラクルエンジニア通信 – 技術資料、マニュアル、セミナー)

データベース
えふめん

大阪在住、30代。
業務系SE・社内SEの仕事を通じて学んだこと、PCトラブルで困って調べたこと、手作業を効率化して改善したこと、WordPressのブログ運営などの記事を書いています。

えふめんをフォローする
\よかったらシェアしてね/
この記事が気に入ったら
いいね!しよう
最新情報をお届けします。
俺の開発研究所

コメント

タイトルとURLをコピーしました