2013-08-07 55 views
4

单个字符可以逃脱这样的:如何在字符串的sql中转义多个字符?

select * from tableName where columnName like 'CU_C' escape '_'; 

我需要逃避多个字符( “%” 和 “_”):

select * from tableName where columnName like 'C%U_C' escape ??; 

如何逃生多个字符?

回答

13

您误解了escape的含义:它允许您定义一个字符,以便当您将其放在另一个字符的前面时,该字符将被逐字解释,而不是元字符。您只需要一个这样的转义字符:您可以使用它来转义任何元字符。

在下面我用'#'作为我的转义字符的例子:

select * from tableName where columnName like 'C#%U#_C' escape '#' 

此尝试匹配C%U_C字符串其中两个'%''_'被字面解释,而不是作为的任何字符的序列或任何单个字符。

相关问题