如何在T-SQL中转义百分号?

时间:2011-08-25 13:43:42

标签: sql-server tsql

这个question also has the answer但是具体提到了DB2。

如何使用已包含百分比LIKE符号的%搜索字符串LIKE运算符使用%符号表示通配符。

5 个答案:

答案 0 :(得分:245)

使用括号。所以要寻找75%

WHERE MyCol LIKE '%75[%]%'

这比ESCAPE简单,并且对大多数RDBMS来说都很常见

答案 1 :(得分:47)

您可以将ESCAPE关键字与LIKE一起使用。只需将所需字符(例如'!')添加到字符串中的每个现有%符号,然后将ESCAPE '!'(或您选择的字符)添加到查询的末尾。

例如:

SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'

这将使数据库将80%视为要搜索的字符串的实际部分,而不是80(通配符)。

MSDN Docs for LIKE

答案 2 :(得分:13)

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

答案 3 :(得分:0)

在MySQL 中,

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

答案 4 :(得分:0)

您可以使用下面的代码查找特定值。

WHERE col1 LIKE '%[%]75%'

如果要在百分号后加一位数字,可以编写以下代码。

WHERE col2 LIKE '%[%]_'