10

4 つのパーセント記号が連続して含まれるデータを選択しようとしています。LIKE 条件が機能するようにパーセント記号をエスケープするにはどうすればよいですか?

ありがとう

4

1 に答える 1

18

@%エスケープ文字句とともに使用します。

select *
from tbl
where fld like '%@%%' escape '@'

"%"これにより、列に文字を含むすべてのレコードが検索されfldます。

DB2/z の形式はわずかに異なります。

select *
from tbl
where fld like {escape '@'} '%@%%'

明らかに、エスケープ文字を慎重に選択して、残りの文字列に干渉しないようにする必要がありますが、これは静的文字列の場合は比較的簡単です。動的に作成された文字列には、文字列の文字を使用しないように動的に作成されたクエリが必要です。

于 2009-03-31T08:59:57.780 に答える