2016-08-17 13 views
5

Próbuję wysłać zapytanie do tabeli bazy danych, aby zwrócić wszystkie rekordy, w których kolumna imienia zawiera znaki " ".Serwer SQL używający LIKE do wyszukiwania nazwy kolumny dla "" znaków

Na przykład Lars-Erik "Molle".

Próbowałem to:

SELECT * FROM [bgtest].[dbo].[cuscon] WHERE firstname LIKE '%Lars-Erik%' 

i że powrócił rekord to tylko ja upewniając się, że robię to dobrze potem wymienić Lars-Erik z "" i oczywiście, jak to będzie wyglądać '%""%' nie robi” podoba mi się i nic nie zwraca.

Wszelkie pomysły, których próbowałem ZAWIERA i PODOBA, i nie mogę wymyślić, jak to zrobić.

Dzięki

+0

Możliwy duplikat [Ucieczka podwójne cudzysłowy w SQL 2005/2008] (http://stackoverflow.com/questions/387198/escape-double-quotes-in-sql-2005-2008) –

+0

'CONTAINS' działa tylko na pełnotekstowych indeksowanych kolumnach zawierających typy danych oparte na znakach, więc jeśli twoja kolumna nie jest zaindeksowana, nie będzie działać. – scsimon

Odpowiedz

10

Wygląda na to trzeba zapytać coś takiego:

SELECT * FROM [bgtest].[dbo].[cuscon] WHERE firstname LIKE '%"%"%' 

Ponieważ %""% będzie szukać dwóch kolejnych " tylko znaków.

+0

Ty jesteś legendą. Dziękuję bardzo za odpowiedź. –

+0

Nie ma za co, sir;) –

0
SELECT * FROM [bgtest].[dbo].[cuscon] WHERE firstname LIKE '%"%' 
Powiązane problemy