На этот вопрос также есть ответ , но в нем конкретно упоминается DB2.
Как искать строку , используя LIKEуже имеет процент %символ в нем? В LIKEоператор использует %символы для обозначения маски.
На этот вопрос также есть ответ , но в нем конкретно упоминается DB2.
Как искать строку , используя LIKEуже имеет процент %символ в нем? В LIKEоператор использует %символы для обозначения маски.
Ответы:
Используйте скобки. Так что искать на 75%
WHERE MyCol LIKE '%75[%]%'
Это проще, чем ESCAPE и является общим для большинства СУБД.
[_]. Как вы избежите открытой квадратной скобки тогда? Как это: [[]. sqlserver2000.databases.aspfaq.com/…
Вы можете использовать ESCAPEключевое слово с LIKE. Просто добавьте нужный символ (например, «!») К каждому из существующих %знаков в строке и затем добавьте ESCAPE '!'(или ваш символ по выбору) в конец запроса.
Например:
SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'
Это заставит базу данных обрабатывать 80% как фактическую часть строки для поиска, а не 80 (подстановочный знак).
WHERE column_name LIKE '%save 50[%] off!%'