示例:注解为“drop table on 12-09-2010”或注解为“12-09-2010”或注解为“drop 12-09-2010”答案应该是日期格式,而不管字段在teradata中的位置如何
wz3gfoph1#
您可以使用regxp\u substr。根据您的mm dd yyyy日期格式,它应该是:
regexp_substr(<your column>,'((0|1)\d{1})-((0|1|2)\d{1})-((19|20)\d{2})')
编辑:这里有一个稍微好一点的正则表达式,它将更接近于处理无效日期。我不认为任何正则表达式都能告诉你,像2020-02-30这样的日期是不合法的。
regexp_substr(some_col,'(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])-[0-9]{4}')
t9aqgxwy2#
我认为没有“从字符串提取日期”函数。你需要把字符串分开:strtok(col,'delim',1),strtok(col,'delim',2),strtok(col,'delim',3)或者查看:regexp\u split\u to\u表
2条答案
按热度按时间wz3gfoph1#
您可以使用regxp\u substr。根据您的mm dd yyyy日期格式,它应该是:
编辑:这里有一个稍微好一点的正则表达式,它将更接近于处理无效日期。我不认为任何正则表达式都能告诉你,像2020-02-30这样的日期是不合法的。
t9aqgxwy2#
我认为没有“从字符串提取日期”函数。你需要把字符串分开:strtok(col,'delim',1),strtok(col,'delim',2),strtok(col,'delim',3)
或者查看:regexp\u split\u to\u表