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



【解決辦法】
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的數值的字符。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM