SQL Server How do I escape a percentage sign in T-SQL?

svmlkihl  于 2023-05-21  发布在  其他
关注(0)|答案(5)|浏览(290)

This question also has the answer , but it mentions DB2 specifically.

How do I search for a string using LIKE that already has a percent % symbol in it? The LIKE operator uses % symbols to signify wildcards.

dhxwm5r4

dhxwm5r41#

Use brackets. So to look for 75%

WHERE MyCol LIKE '%75[%]%'

This is simpler than ESCAPE and common to most RDBMSes.

weylhg0b

weylhg0b2#

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).

Documentation on LIKE

p5fdfcr1

p5fdfcr13#

WHERE column_name LIKE '%save 50[%] off!%'
ztyzrc3y

ztyzrc3y4#

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 '%[%]_'
vxbzzdmp

vxbzzdmp5#

In MySQL,

WHERE column_name LIKE '%|%%' ESCAPE '|'

相关问题