想要匹配出所有MC帶有 "_" 的數(shù)據(jù),select * from lm where mc like '%_%' ;這是一種錯誤的寫法,因為Oracle會默認(rèn)把 '_' 作為一個可以匹配任意一個字符的通配符。正確寫法: select * from lm where mc like '%/_%'escape '/';語法:like '%/_%' escape'/', 其中第一個 '/' 代表轉(zhuǎn)義緊跟后一位的特殊字符(多個特殊字符需要寫多個'/'進行轉(zhuǎn)義),escape關(guān)鍵字 代表查詢時過濾掉 '/' 這個字符。也就是說先用 '/'轉(zhuǎn)義特殊字符,查詢的時候再用 escape 關(guān)鍵字過濾掉 '/'。由于 '/'在程序中也是特殊字符,所以也需要進行轉(zhuǎn)義。 String sql = "select * from lm where mc like '%//_%' escape '//'";以此類推,其他特殊字符也可以使用 '/' 進行轉(zhuǎn)義。
新聞熱點
疑難解答