2011-06-28 9 views
21
SELECT * 
    FROM Header 
WHERE (userID LIKE [%'%]) 

答えて

43

二重にエスケープします。

SELECT * 
    FROM Header 
WHERE userID LIKE '%''%' 
+0

値が変数に格納されている場合はどうなりますか? – Babar

7
SELECT  * 
FROM Header WHERE (userID LIKE '%''%') 
+1

ありません正義を。一番遅いコメント0投票 –

0

ブラケットは、識別子を中心に使用されているので、あなたのコードは、Headerテーブルのフィールド%'%を探します。 insteaed文字列を使用したい。文字列リテラルにアポストロフィを配置するには、ダブルアポストロフィを使用します。

SELECT * 
FROM Header WHERE userID LIKE '%''%' 
0

です:

SELECT * FROM Header 
WHERE (userID LIKE '%''%') 
0
select * from Header where userID like '%''%' 

は、この情報がお役に立てば幸いです。

5
SELECT * FROM Header WHERE userID LIKE '%' + CHAR(39) + '%' 
0

String sql="select lastname from employee where FirstName like '%"+firstName.trim().toLowerCase().replaceAll("'", "''")+"%'" 

statement = conn.createStatement(); 
     rs=statement.executeQuery(Sql); 

Javaコードthrogh DBに名前を有するアポストロフィを比較し、結果を反復します。

+0

OPが理解できるように説明してください – WoodChopper

0

あなたはまた、同様にエスケープするバックスラッシュを( '\')を使用することができ、ここで SELECT * FROM Header WHERE userID LIKE '%\'%'

関連する問題