На це питання також є відповідь , але він специфічно згадує DB2.
Як шукати рядок, використовуючи символ, LIKEякий вже містить відсоток %? У LIKEоператор використовує %символи для позначення маски.
На це питання також є відповідь , але він специфічно згадує DB2.
Як шукати рядок, використовуючи символ, LIKEякий вже містить відсоток %? У LIKEоператор використовує %символи для позначення маски.
Відповіді:
Використовуйте дужки. Тож шукати 75%
WHERE MyCol LIKE '%75[%]%'
Це простіше, ніж ESCAPE і загальноприйняте для більшості RDBMS.
[_]. Як тоді уникнути відкритої квадратної дужки? Як це: [[]. 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!%'