可以像这样对单个字符进行转义:
select * from tableName where columnName like 'CU_C' escape '_';
我需要转义多个字符(“%”和“_”):
select * from tableName where columnName like 'C%U_C' escape ??;
如何转义多个字符?
最佳答案
您误解了escape
的含义:它使您可以定义一个字符,这样当您将其放在另一个字符之前时,该另一个字符将被字面解释,而不是作为元字符。您只需要一个这样的转义字符:您可以使用它来转义任何元字符。
在下面的示例中,我将'#'
用作我的转义字符:
select * from tableName where columnName like 'C#%U#_C' escape '#'
这将尝试匹配
C%U_C
字符串,其中'%'
和'_'
都是按字面意义解释的,而不是由任何字符或任何单个字符组成的序列。
关于sql - 如何在类似字符串的sql中转义多个字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18093403/