1. 程式人生 > >下劃線“_”在oracle中不是單純的表示下劃線的意思,而是表示匹配單一任何字符!

下劃線“_”在oracle中不是單純的表示下劃線的意思,而是表示匹配單一任何字符!

cape 意義 字符串 劃線 cap 開始 沒有 字符 匹配


【解決辦法】
1.使用 escape() 函數
escape關鍵字經常用於使某些特殊字符,如通配符:‘%‘,‘_‘轉義為它們原來的字符的意義,被定義的轉義字符通常使用‘\‘,但是也可以使用其他的符號。
例如:我上面的問題可以寫成where name like ‘ab\_%‘ escape ‘\‘,這個“\”可以改為其他字符


【其他參考方法】
2.使用 instr() 函數輔助判斷
instr函數在Oracle/PLSQL中表示返回要截取的字符串在源字符串中的位置;如果找到了,則返回下標(從1開始);如果沒有找到,則返回0。


3.使用?ASCII() 函數
ASCII函數表示返回最左邊的字符的字符串str的數值。如果str是空字符串,返回0。如果str為NULL,返回NULL。 ASCII()是從0到255的數值的字符。

下劃線“_”在oracle中不是單純的表示下劃線的意思,而是表示匹配單一任何字符!