Sql server 如何在T-SQL中转义百分号?
虽然如此,但它特别提到了DB2Sql server 如何在T-SQL中转义百分号?,sql-server,tsql,Sql Server,Tsql,虽然如此,但它特别提到了DB2 如何使用LIKE搜索已包含百分比%符号的字符串?LIKE运算符使用%符号表示通配符。您可以将ESCAPE关键字与LIKE一起使用。只需在字符串中的每个现有%符号前加上所需字符(例如“!”),然后添加转义“!”(或您选择的字符)到查询末尾 例如: SELECT * FROM prices WHERE discount LIKE '%80!% off%' ESCAPE '!' 这将使数据库将80%视为要搜索的字符串的实际部分,而不是80(通配符) 使用括号。所以要找
如何使用
LIKE
搜索已包含百分比%
符号的字符串?LIKE
运算符使用%
符号表示通配符。您可以将ESCAPE
关键字与LIKE
一起使用。只需在字符串中的每个现有%
符号前加上所需字符(例如“!”),然后添加转义“!”代码>(或您选择的字符)到查询末尾
例如:
SELECT *
FROM prices
WHERE discount LIKE '%80!% off%'
ESCAPE '!'
这将使数据库将80%视为要搜索的字符串的实际部分,而不是80(通配符)
使用括号。所以要找75%
WHERE MyCol LIKE '%75[%]%'
这比ESCAPE更简单,对于大多数RDBMS来说都很常见。在MySQL中
其中列的名称,如“%|%%”转义“|”
可以使用下面的代码查找特定值
WHERE col1 LIKE '%[%]75%'
当您希望在%符号后有一个位数时,可以编写以下代码
WHERE col2 LIKE '%[%]_'
另请注意,在其他构造(如用户函数、连接等)中,不必转义百分比符号。也可以转义下划线通配符:[\u]
。那么,你如何摆脱开放的方括号呢?像这样:[[]
。使用转义子句比MS的大脑受损引用机制更容易理解。但问题是关于T-SQL的。
WHERE col2 LIKE '%[%]_'