Oracle中分割逗號函數REGEXP_SUBSTR


 

    最近優化FORM中的查詢條件遇到某個字段可以選取多個值的問題,思路當然就是選取時將多個值通過某個符號拼接起來,查詢數據的時候將拼接后的字符串按照符號分割開,在分割逗號的時候用到了一個新的方法REGEXP_SUBSTR,記錄一下。該方法分割所有的逗號,返回多行。

 SELECT regexp_substr(p_item_code, '[^,]+', 1, LEVEL) AS pscode

     FROM dual

  CONNECT BY LEVEL <= length(p_item_code) + 1 -length(REPLACE(p_item_code, ',', ''))

  方法說明:REGEXP_SUBSTR(String,pattern,position,occurrence,modifier)

 參數說明:

   參數1:帶分割字符串,在此處即為開始拼接起來的字符串

   參數2:正則表達式,此處用的'[^,]+'表示匹配一個或多個不是“,”的字符。

   參數3:起始位置,從第幾個字符開始正則表達式匹配,默認是1

   參數4:標識第幾個匹配組,默認為1

   參數5:匹配模式,i不區分大小寫進行檢索,c區分大小寫進行檢索,默認是c

  

    

 

   


免責聲明!

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



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