2009年12月21日月曜日

[SQL]SQLServerのLikeは正規表現が使える!

先日、とあるシステムの調査のためSQLServerのプロファイラで発行しているSQLをトレースしていると、Like検索の対象に「ABC[0-9][0-9][0-9]」のような表現を見つけました。
はぁ?と思い、調査してみると、SQLServerのLike検索は正規表現が利用できることがわかりました。チョーびっくり。「検索条件のパターン照合」が参考になります。

このページにも書いてありますが、正規表現を使うと、インデックスが使われません。ので、データ量の多いテーブルには使わないことをお勧めします(ってオイ。これじゃあまり意味が。。。)。

2 件のコメント:

  1. SQLServerよく使うけれど良いこときいた。
    単純like条件を正規表現に変えてもパフォーマンスが低下して痛い目にあう可能性があるのね!

    それにしても"GDD"っていいなぁ。

    返信削除
  2. hironoji さん
    コメントありがとうございます。

    正規表現でもインデックスが利くとすばらしいんですけどね。。。
    仕組み上、難しいらしいですね。

    返信削除