我使用下面的查询来解析presto中的日期: SELECT date_parse(t.up_date, '%c/%e/%Y %l:%i:%s %p') from table t
样本日期为: 4/11/2021 12:30:00 PM
但有时我们得到的日期不是不能像这样解析的 "testdate"
(任何不是日期的字符串)
如何在查询中跳过这些日期?我的查询应该如下所示:
select date_parse(t.up_date, '%c/%e/%Y %l:%i:%s %p')
from table t
where <skip the date that does not parse>
1条答案
按热度按时间pvcm50d11#
使用
try()
. 正常情况下date_parse()
错误的日期格式失败。如果你加上try()
,它将产生NULL
对于错误的日期,过滤空记录,如下所示:您还可以尝试使用coalesce()解析不同的格式,以选择成功解析的格式:
通过这种方式,您可以尝试解析数据中可能存在的不同格式。