Teradata REGEXP_SUBSTR从API字段提取日期技术求助
Teradata正则提取日期解决方案
直接匹配日期格式的写法:
针对你要提取的YYYY-MM-DD格式日期,用精准匹配数字和短横线的正则即可,语句如下:REGEXP_SUBSTR(EXTENDED_DATA, '\d{4}-\d{2}-\d{2}', 1, 1) AS DATE说明:
\d{4}匹配4位年份,-\d{2}-匹配月份段的短横线和2位月份,\d{2}匹配2位日期,1,1指定提取第一个匹配到的结果。结合键名精准匹配的写法(推荐):
如果字段中可能存在多个日期,为确保提取的是redeterminationDate对应的值,可使用带捕获组的正则,指定返回捕获的内容:REGEXP_SUBSTR(EXTENDED_DATA, 'redeterminationDate":"(\d{4}-\d{2}-\d{2})', 1, 1, 'c', 1) AS DATE说明:
redeterminationDate":"匹配目标键名及后续双引号,精准定位目标日期的位置(\d{4}-\d{2}-\d{2})作为捕获组,包裹我们需要的日期内容- 最后一个参数
1表示返回第一个捕获组的内容,而非整个匹配字符串 'c'表示区分大小写,若键名是小写可省略该参数
原语句的正则逻辑混乱,未针对日期格式做匹配,因此无法得到正确结果,替换为上述两种写法即可满足需求。
内容的提问来源于stack exchange,提问作者CodeOfArms
相关产品推荐
相关产品推荐

