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

时间:2016-05-05 15:40:15

标签: sql actian

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

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

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()函数,你们对cinco de Mayo有任何想法。

1 个答案:

答案 0 :(得分:0)

您可以在该字符串上使用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;