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で全文検索 (オラクルエンジニア通信 – 技術資料、マニュアル、セミナー)

コメント

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