在源表中,我们有4个日期字段列。 2列是DATE作为其数据类型,其他列是varchar2。我要检查的是日期字段的传入数据是否有效,如果没有,如果我们发现它的格式无效(除了dd / mm / yyyy)并且如果它像32/02/1999或34 /那么它应该被拒绝15/1999等。
请你给我一个sql查询来检查它。
由于
答案 0 :(得分:0)
DECLARE
in_txt VARCHAR2; -- to be converted
in_fmt_txt VARCHAR2 := 'DD-MON-YYYY'; -- optional format
BEGIN
-- Try to convert in_txt to a DATE. If it works, fine.
RETURN TO_DATE (in_txt, in_fmt_txt);
EXCEPTION -- If TO_DATE caused an error, then this is not a valid DATE: return NULL
WHEN OTHERS
THEN
RETURN NULL;
END ;