SQL查询/正则表达式将自定义字符串拆分为列

时间:2017-04-11 19:51:37

标签: sql regex database oracle db2

嗨我在一个字段中有源数据,格式如下

<1> 1Y3M6D(1年,3个月,6天)我需要将此分为3个字段年,月,日但是源数据格式可以像月份一样改变,因为3M1Y6D或源数据只能有3M而没有一年又一天。如何编写查询以从M,Y或D获取前面的数字?

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

谢谢大家,Unoembre指挥帮助。 选择my_value,REGEXP_SUBSTR(my_value,'(\ d +)Y',1,1,NULL,1)REG_Y,REGEXP_SUBSTR(my_value,'(\ d +)M',1,1,NULL,1)REG_M,REGEXP_SUBSTR(my_value ,'(\ d +)D',1,1,NULL,1)REG_D from(选择'3M6Y2D'my_value from dual);

相关问题