0

我正在创建一个最终会从一个地方获取数据并将其放入另一个地方的过程。为此,我需要转换我的数据。

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

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 有什么想法吗?

4

1 回答 1

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;
于 2016-05-05T15:51:51.713 回答