oracle查找某個字符在字符串中的個數的技巧


Oracle沒有提供查找某個字符在字符串中出現次數的函數,當遇到這樣的需求的時候,我們只能使用另外的方法去實現。

簡單的思路就是,假設有個字符串str,然后里面有n個【a】字符,當把這n個【a】字符去掉之后,就可以獲得剩下字符串的長度,然后再用原來的字符串長度減去剩下的字符串長度,就得到【a】字符在源字符串中的個數了。

LENGTH(STR) - LENGTH(REPLACE(STR, 'a', ''))

我們來試一下:

SELECT LENGTH('yanggb is a good boy.') - LENGTH(REPLACE(STR, 'a', '')) A_COUNT FROM DUAL; -- 2

這樣就用特殊技巧完成了原來的需求,借助了使用REPLACE()函數后的字符串與源字符串的差值。

 

"良辰美景奈何天,賞心樂事誰家院,則為誰如花美眷,似水流年。"


免責聲明!

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



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