2009-03-31 73 views
9

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

おかげ

+0

これはアンダースコアでも機能するため、「DB2 SQLでのパーセントまたはエスケープ記号のエスケープ」に変更することを提案できますか?それは人々がこの質問/答えを見つけるのを助けるでしょう。 –

答えて

12

使用@%

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

これはfld列に"%"文字を含むすべてのレコードを検索します。あなたはそれがあなたの文字列の残りの部分に干渉しないように慎重にエスケープ文字を選択する必要があります、明らかに

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

が、これはのために比較的簡単である:

DB2/zがわずかに異なる形式を持ちます静的な文字列。動的に作成される文字列では、文字列の文字を使用しないように動的に作成されたクエリが必要です。

+1

任意のエスケープ文字は、LIKE文字列で文字通り使用するたびに倍にすることができます。 LIKE '...' ESCAPE '...'はANSI SQL92の標準です。 – bobince

関連する問題