2011-08-25 12 views

Odpowiedz

210

użyć nawiasów. Tak wyglądać za 75%

WHERE MyCol LIKE '%75[%]%' 

jest to prostsze niż uciec i wspólne dla większości RDBMS

+2

również pamiętać, nie trzeba uciekać się symbol procentu w innych konstrukcjach, takich jak funkcja użytkownika, łączenie itd –

+3

[Może dać lepsze oszacowania liczności (a więc także plany wykonania)] (http://stackoverflow.com/a/18696341/73226) –

+1

Możesz także uciec również znaku podkreślenia: '[_]'. Jak zatem można uciec przed otwartym kwadratowym wspornikiem? W ten sposób: '[[]'. http://www.sqlserver2000.databases.aspfaq.com/how-do-i-search-for-special-characters-e-g-in-sql-server.html –

39

Możesz użyć słowa kluczowego ESCAPE z LIKE. Po prostu zapisz żądany znak (na przykład "!") Do każdego z istniejących znaków % w ciągu znaków, a następnie dodaj ESCAPE '!' (lub swoją wybraną postać) na koniec zapytania.

Na przykład:

SELECT * 
FROM prices 
WHERE discount LIKE '%80!% off%' 
ESCAPE '!' 

To spowoduje, że baza danych 80% traktować jako rzeczywistą część napisu, aby szukać i nie 80 (wildcard).

MSDN Docs for LIKE

11
WHERE column_name LIKE '%save 50[%] off!%' 
Powiązane problemy