How do I escape a percentage sign in T-SQL?
WHERE column_name LIKE '%save 50[%] off!%'
You can use the ESCAPE
keyword with LIKE
. Simply prepend the desired character (e.g. '!') to each of the existing %
signs in the string and then add ESCAPE '!'
(or your character of choice) to the end of the query.
For example:
SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'
This will make the database treat 80% as an actual part of the string to search for and not 80(wildcard).
MSDN Docs for LIKE
You can use the code below to find a specific value.
WHERE col1 LIKE '%[%]75%'
When you want a single digit number after the% sign, you can write the following code.
WHERE col2 LIKE '%[%]_'
Use brackets. So to look for 75%
WHERE MyCol LIKE '%75[%]%'
This is simpler than ESCAPE and common to most RDBMSes.