oracle 如何判斷字符串中是否包含中文?超級簡單!


1.情景展示

  如何快速的判斷出指定字符串中是否包含中文呢? 

2.解決方案

  通過length()和lengthb()函數的比對結果進行判斷。 

  lengthb(string)計算string所占的字節長度:返回字符串的字節長度,單位是字節;

  length(string)計算string所占的字符長度:返回字符串的字符長度,單位是字符。

  在英文中,一個英文字符僅占一個字節;

  在中文中,一個中文字符至少要占兩個字節,一個漢字在Oracle數據庫里占多少字節跟數據庫的字符集有關,UTF8時,長度為三。

  所以,可以通過判斷兩個函數的返回值是否相等,就能判斷出字符串中是否包含中文。

  length('string')=lengthb('string')

SELECT DECODE(LENGTH('string'),LENGTHB('string'),'不包含','包含') 是否包含中文 FROM DUAL

 

寫在最后

  哪位大佬如若發現文章存在紕漏之處或需要補充更多內容,歡迎留言!!!

 相關推薦:

 


免責聲明!

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



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