如何在Vertica DB中找到无效的日期记录?

时间:2016-08-23 05:38:30

标签: vertica

Vertica DB有一个名为created_ts的列,其中包含2016年3月15日,2016年3月15日,2016/03/15和2016年3月15日的记录。我想过滤不符合DD / MM / yyyy格式的记录。

1 个答案:

答案 0 :(得分:0)

这应该识别大多数无效DD / MM / YYYY日期的字符串,但是如果你想要清除4月31日(或非2月29日)的无效日期,你必须增加一点复杂性。 -leap - 年)。

select * from my_table
where not (translate(created_ts,'0123456789','9999999999')='99/99/9999' 
           and split_part(created_ts,'/',1) between '01' and '31' 
           and split_part(created_ts,'/',2) between '01' and '12')