在like謂詞查詢中,會使用到兩個通配符:"%"和"_"、,其中"%"表示零個或任意多個字符,"_"表示任意一個字符,但如果查詢的條件表達(dá)式中出現(xiàn)了"%"和"_",就需要對其進(jìn)行轉(zhuǎn)義。
另外,還有一個特殊的字符"'",若出現(xiàn)在查詢表達(dá)式中,也需要進(jìn)行轉(zhuǎn)義,其轉(zhuǎn)義方式和以上兩個字符的轉(zhuǎn)義方式有些差別。下面以示例簡單說明:
1、對"%"的轉(zhuǎn)義
select * from student where description like '%!%%' escape '!'
本sql解釋為取出表student中所有字段description中含有"%"的記錄。
2、對"_"的轉(zhuǎn)義
select * from students where description like '%!_%' escape '!'
本sql解釋為取出表student中所有字段description中含有"_"的記錄。
3、對"'"的轉(zhuǎn)義
select * from students where description like '%''%''
本sql解釋為取出表student中所有字段description中含有"'"的記錄。
比較以上3條sql,不難看出,對于"%"和"_"需要指定一個轉(zhuǎn)義字符,用關(guān)鍵字escape說明。例子中使用了'!',但你可以使用其它字符,比如字母a-z(大小寫任意),或者數(shù)字0-9和其它字符等。
|
|