我有一张桌子,里面有数百万条记录。在其中一个记录中,有一个数据类型为timestamp(0)
的列。
该列中存在无效的时间戳数据。
我怎样才能获得该记录?
请帮帮我?
我使用的数据库是Teradata。
先谢谢。
答案 0 :(得分:0)
我认为它是一个Varchar列,您试图将其转换为时间戳。您通常希望匹配字符串中的模式以查看它是否与有效的时间戳格式匹配。您可以使用正则表达式定义模式,并在Teradata中使用regex_similar()
UDF来标识与模式匹配的记录。 timestamp(0) format 'YYYY-MM-DD HH:MI:SS'
的示例正则表达式为[0-9]{4}-[0-9]{2}-[0-9]{2} [012][0-9]:[0-5][0-9]:[0-5][0-9]
注意:您可能需要请求支持团队/ DBA为您安装此UDF。我建议你安装这个UDF,因为它的用途非常广泛。