DB2 LIKE謂詞查詢語句中支持 百分號(%)、下划線(_)的使用,不支持方括號([])(注:它會把方括號當成實際的值而非通配符),當我們需要在LIKE 查詢條件中將百分號(%)、下划線(_)作為實際值進行查詢時,就需要使用轉義字符告訴DB2把它們當做是實際值而非轉義字符。然而,DB2中並非定義了轉義字符(反斜杠\在DB2中並非轉義字符),所以需要使用ESCAPE關鍵字來定義,LIKE '%!%' ESCAPE '!'。
值得注意的是,對於單引號的處理與百分號(%)、下划線(_)的處理有點不一樣,
對於單引號來說,只能使用單引號進行轉義,例如:LIKE '''A%',這個就是匹配以字符串 "'A"開頭的字符串
百分號(%)轉義:
select * from table where col1 like '%
/%%' escape '/'
這個語句的意思就是:查找出col1中包含 了百分號(%)字符的記錄。其中escape定義了轉義字符"/"
下划線(_)轉義:
select * from table where col1 like '%
!_%'
escape '!'
這個語句的意思就是:查找出col1中包含 了下划線(_)字符的記錄
。其中escape定義了轉義字符"!"
單引號的轉義:
select * from table where col1 like '%
''%'
這個語句的意思就是:查找出col1中包含 了單引號字符的記錄
