Как искать имена с апострофом в SQL Server? - PullRequest
28 голосов
/ 28 июня 2011
SELECT *
  FROM Header
 WHERE (userID LIKE [%'%])

Ответы [ 7 ]

57 голосов
/ 28 июня 2011

Удвойте их, чтобы убежать;

SELECT *
  FROM Header
 WHERE userID LIKE '%''%'
10 голосов
/ 28 июня 2011
SELECT     *
FROM Header WHERE (userID LIKE '%''%')
7 голосов
/ 28 июня 2011
SELECT *   FROM Header  WHERE userID LIKE '%' + CHAR(39) + '%' 
1 голос
/ 28 июня 2011

То есть:

SELECT * FROM Header 
WHERE (userID LIKE '%''%')
0 голосов
/ 18 ноября 2015

Сравнить имена, содержащие апостроф в БД, через код Java

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

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

итерация результатов.

0 голосов
/ 28 июня 2011
select * from Header where userID like '%''%'

Надеюсь, это поможет.

0 голосов
/ 28 июня 2011

Скобки используются вокруг идентификаторов, поэтому ваш код будет искать поле %'% в таблице Header. Вы хотите использовать строку insteaed. Чтобы поместить апостроф в строковый литерал, вы используете двойные апострофы.

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