我正在使用一个名为"代码"的字段,它是一个由逗号分隔的值列表。在每个项目中,都有一个以冒号结尾的标题,冒号后面是代码编号。我只需要每个冒号后面的代码编号列表。
示例值:名称-形式-NA-阶段0:3278648990379886572,规则-NA-不需要的-sdfle2:6886328308933282817,美国-德斯格-订单-阶段1:1273671130817907765
预期输出:3278648990379886572,6886328308933282817,1273671130817907765
标题确实总是以字母开头,以冒号结尾,所以我可以看到REGEXP_REPLACE如何工作,以替换以字母开头和以冒号结尾之间的任何字符串,""可能会工作,但我不擅长REGEXP_REPLACE模式。
侧记,如果有人知道一个很好的指南,了解模式符号的正则表达式将非常感谢!
我试过了,但它不起作用REGEXP_REPLACE(REPLACE(REPLACE(代码,':',''),',',''),'[^0 - 9]+','')
1条答案
按热度按时间uz75evzq1#
此解决方案假定了以下几点:
在高级别上,此查询查找有多少个冒号,将整个字符串拆分为这么多个部分,然后只保留数字后面逗号以内的数字,然后将这些数字聚合到逗号分隔的列表中。
假设一张表如下: