如何在SQL like字符串中转义多个字符?

10

一个单独的字符可以通过这种方式进行转义:

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

我需要转义多个字符("% "和"_"):

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

如何转义多个字符?

2个回答

21

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

在下面的示例中,我使用了'#'作为我的转义字符:

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

这尝试匹配C%U_C字符串,其中'%''_'都被解释为字面值,而不是任意字符或单个字符的序列。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接