Oracle中通過逗號分割字符串並轉換成多行


通過逗號對字符串字段進行分割,並返回多行,通過使用regexp_substr()函數實現。
SQL示例:

select regexp_substr(q.nums, '[^,]+', 1, rownum,'i'), names
from (select '1,2,3' nums, '張三' names from dual) q
connect by rownum <= LENGTH(q.nums) - LENGTH(REGEXP_REPLACE(q.nums, ',', '')) + 1;

結果展示:

regexp_substr()函數參數說明

參數1: 待分割字符串

參數2:正則表達式

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

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

參數5:模式('i'不區分大小寫進行檢索;'c'區分大小寫進行檢索。默認為'c'。)


免責聲明!

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



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