Du har to muligheder:
-
omslutt dem i
[og]. Så:where pattern like '[%]'Søger efter procenttegn. Fuld liste over tegn, der skal escapes -
'_', '%', '[', ']'med tilsvarende erstatninger'[_]', '[%]', '[[]', '[]]'. Eksempelkode kan findes i Escaping af escape-tegnet virker ikke – SQL LIKE Operator -
brug et escape-tegn, der sandsynligvis ikke er i strengen, såsom et backtick:
where pattern like '`%' escape '`'(Se syntaksen på MSDN - LIKE (Transact-SQL) .)
I begge tilfælde vil jeg foreslå, at du laver substitutionen i applikationslaget, men du kan også gøre det i SQL, hvis du virkelig vil:
where pattern like replace(@pattern, '%', '[%]')
Og at give slutbrugeren adgang til jokertegn kan være en god ting i forhold til brugergrænsefladen.
Bemærk:der er et par specialtegn mere '-' og '^' i LIKE-forespørgslen, men de behøver ikke escapes, hvis du allerede escaper '[' og ']' .