一个单独的字符可以通过这种方式进行转义:
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
字符串,其中'%'
和'_'
都被解释为字面值,而不是任意字符或单个字符的序列。
转义字符
单个字符的示例为 '' :
'high\-voltage'
字符串或多个字符的示例 '{string}' :
'{high-voltage}'
参考资料: https://docs.oracle.com/cd/B10501_01/text.920/a96518/cqspcl.htm