2013-08-07 96 views
4

單個字符可以逃脫這樣的:如何在字符串的sql中轉義多個字符?

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

我需要逃避多個字符( 「%」 和 「_」):

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

如何逃生多個字符?

回答

13

您誤解了escape的含義:它允許您定義一個字符,以便當您將其放在另一個字符的前面時,該字符將被逐字解釋,而不是元字符。您只需要一個這樣的轉義字符:您可以使用它來轉義任何元字符。

在下面我用'#'作爲我的轉義字符的例子:

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

此嘗試匹配C%U_C字符串其中兩個'%''_'被字面解釋,而不是作爲的任何字符的序列或任何單個字符。

相關問題