如何在类似字符串的sql中转义多个字符?

Dol*_*hin 5 sql escaping

单个字符可以像这样转义:

select * from tableName where columnName like 'CU_C' escape '_';
Run Code Online (Sandbox Code Playgroud)

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

select * from tableName where columnName like 'C%U_C' escape ??;
Run Code Online (Sandbox Code Playgroud)

如何逃避多个角色?

das*_*ght 17

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

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

select * from tableName where columnName like 'C#%U#_C' escape '#'
Run Code Online (Sandbox Code Playgroud)

这会尝试匹配C%U_C字符串中的字符串,'%''_'不是任何字符或任何单个字符的序列.