読者です 読者をやめる 読者になる 読者になる

T-SQL - like 演算子でワイルドカード文字(「%」や「_」)を検索

t-sql

方法は2つあるんですね。探せば出てくるとは思いますが、メモしておきます。

LIKE (Transact-SQL)

いつも通りとりあえずデータを用意して。

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%
*/

私は角括弧の方しか知らなかったのですが、どっちがよく使われているんでしょうね。