如何更新在oracle中由定界符分隔的列值的特定出现

How to update a particular occurrence of column value which is separated by delimiter in oracle

列值示例abc~ab123~4~abc124~asd

我需要在第二次出现 ~ 后更新值,即 4 到 XYZ

预期输出abc~ab123~XYZ~abc124~asd

也许这样的东西适合你:

select 
    regexp_replace('abc~ab123~4~abc124~asd', 
                   '[^~]+',
                   'XYZ', 1, 3)
from dual