T-SQL - like 演算子でワイルドカード文字(「%」や「_」)を検索
方法は2つあるんですね。探せば出てくるとは思いますが、メモしておきます。
- ワイルドカード文字を角括弧(
[
と]
)で囲む - escape 句を使う
いつも通りとりあえずデータを用意して。
select * into #Message from (values(N'30cm'), (N'50%')) as Message(Text); /* Text ---- 30cm 50% */
「%」で終わる行を検索してみます。
ワイルドカード文字を角括弧で囲む方法
select * from #Message where Text like N'%[%]'; /* Text ---- 50% */
escape 句を使う方法
select * from #Message where Text like N'%!%' escape N'!'; /* Text ---- 50% */
私は角括弧の方しか知らなかったのですが、どっちがよく使われているんでしょうね。