选择具有不正确日期格式的所有记录:Oracle

时间:2018-04-12 12:04:16

标签: sql oracle

在我们的oracle DB中,有些记录不是特定的日期格式,我只想select那些记录。例如。

Proper data format: dd.mm.yyyy mm:hh:ss
Improper date format: dd.mm.yyyy

是否有任何oracle构造根据日期格式选择记录? 提前谢谢。

1 个答案:

答案 0 :(得分:0)

如果我假设你将日期存储为一个字符串(一个非常糟糕的选择),那么你可以使用正则表达式来达到你想要的:

select (case when regexp_like(col, '^[0-9]{2}[.][0-9]{2}[.][0-9]{4} [0-9]{2}[:][0-9]{2}[:][0-9]{2}$'
             then 'okay' else 'bad'
        end)

如果出于某种原因, 将日期存储为字符串,请使用ISO / ANSI标准格式,例如YYYY-MM-DDTHH:MI:SS。