检查列中的字段是否为日期并进行转换



我正在创建一个流程,该流程最终将从一个地方获取数据并将其放入另一个地方。为了实现这一点,我需要转换我的数据。

我有一个包含字符串和日期的列

timestamp
20POST /xxxei/adsa/ContentVis HTTP/1.1  Host: fa.aweb.com
2016-12-18T00:15:10.289Z
2016-11-06T04:09:54.503Z

我在做这个:

select cast(left("timestamp",10) as timestamp)

但现在我的过程失败了,因为我没有考虑到这一点,作为一个价值:

20POST /xxxei/adsa/ContentVis HTTP/1.1  Host: fa.aweb.com

我的系统没有ISDATE()函数,你们对此有什么想法吗。

您可以在该字符串上使用类似DAY()的函数。如果返回null,则不是有效的日期

更具体的案例:

SELECT DAY('20POST /xxxei/adsa/ContentVis HTTP/1.1  Host: fa.aweb.com') IS NOT NULL as is_date;
SELECT DAY('2016-12-18T00:15:10.289Z') IS NOT NULL as is_date;

相关内容

  • 没有找到相关文章

最新更新