【发布时间】:2013-08-08 05:46:03
【问题描述】:
单个字符可以这样转义:
select * from tableName where columnName like 'CU_C' escape '_';
我需要转义多个字符(“%”和“_”):
select * from tableName where columnName like 'C%U_C' escape ??;
如何转义多个字符?
【问题讨论】:
单个字符可以这样转义:
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
【讨论】: