2009-04-01 14 views

答えて

7
SELECT count(*) 
FROM table 
WHERE column ILIKE '%\\\\%'; 
3

抜粋:

バックスラッシュをまだあなたは脱出を想定し(SQL文で2つのバックスラッシュを記述する必要があり、バックスラッシュが含まれているパターン定数を書くために、文字列リテラルで特別な意味を持っていることに注意してください文字列構文が使用されます(4.1.2.1項を参照)。したがって、実際にリテラルのバックスラッシュと一致するパターンを書くことは、ステートメントに4つのバックスラッシュを書くことを意味します。これを回避するには、ESCAPEで別のエスケープ文字を選択します。バックスラッシュはもうLIKEにとって特別なものではありません。 (しかし、それはまだ文字列リテラルパーサに特別なので、あなたはまだそれらのうちの2つを必要とする。)あなたはE'\\\\'必要

0

LIKEへの引数は正規表現と正規表現のエスケープ文字はすでに\であるので(例えば~ E'\\w'は、印刷可能な文字を含む任意の文字列と一致します)。

はいっそdoc

3

を参照してください - ちょうど標準の位置を使用し、同様に使用しないでください。

select count(*) from from table where 0 < position(E'\\' in column); 
関連する問題