SQL中使用ESCAPE定義轉(zhuǎn)義符詳解
使用ESCAPE定義轉(zhuǎn)義符
在使用LIKE關(guān)鍵字進(jìn)行模糊查詢時,“%”、“_”和“[]”單獨(dú)出現(xiàn)時,會被認(rèn)為是通配符。為了在字符數(shù)據(jù)類型的列中查詢是否存在百分號 (%)、下劃線(_)或者方括號([])字符,就需要有一種方法告訴DBMS,將LIKE判式中的這些字符看作是實(shí)際值,而不是通配符。關(guān)鍵字 ESCAPE允許確定一個轉(zhuǎn)義字符,告訴DBMS緊跟在轉(zhuǎn)義字符之后的字符看作是實(shí)際值。如下面的表達(dá)式:
LIKE "%M%" ESCAPE ‘M"
使用ESCAPE關(guān)鍵字定義了轉(zhuǎn)義字符“M”,告訴DBMS將搜索字符串“%M%”中的第二個百分符(%)作為實(shí)際值,而不是通配符。當(dāng)然,第一個百分符(%)仍然被看作是通配符,因此滿足該查詢條件的字符串為所有以%結(jié)尾的字符串。
類似地,下面的表達(dá)式:
LIKE "AB&_%" ESCAPE ‘&"
此時,定義了轉(zhuǎn)義字符“&”,搜索字符串中緊跟“&”之后的字符,即“_”看作是實(shí)際字符值,而不是通配符。而表達(dá)式中的“%”,仍然作 為通配符進(jìn)行處理。該表達(dá)式的查詢條件為以“AB_”開始的所有字符串。
通過此文希望能幫助到大家,謝謝大家對本站的支持!
