SQL查询:转义特殊字符

时间:2010-04-22 11:45:01

标签: sql-server tsql

我试图在TSQL查询中转义特殊字符。我之前做过这个:

SELECT columns FROM table WHERE column LIKE '%\%%' ESCAPE '\'

它已经奏效了。现在我试着这样做了:

UPDATE match SET rule_name='31' ESCAPE '\'

但它失败了。我知道没有任何一个\,但它应该仍然有用。我猜它是因为它需要一个LIKE语句,但我怎么能逃避我添加到数据库中的字符呢?

此外,是否有人链接到应该转义的所有特殊字符,我找不到任何关于此的文档!

感谢大家的帮助

2 个答案:

答案 0 :(得分:4)

LIKE子句的文档包含需要转义的字符列表。

ESCAPE仅定义为LIKE子句的一部分,这就是您的第二个查询失败的原因(无LIKE子句)。

答案 1 :(得分:0)

LIKE语句中ESCAPE子句的要点是允许您将特殊字符(如'%')视为文字。更新时,没有需要像那样转义的特殊字符。

修改

我误解了,并认为OP想要逃脱类似的特殊角色。 要转义',请输入''