如何从字段转换日期以便在 WHEN-VALIDATE-ITEM 触发器上进行比较

How to convert date from field for comparison on WHEN-VALIDATE-ITEM trigger

我正在处理 Oracle Forms 应用程序。我有一个名为 DOB 的字段,其日期格式为 08-May-1890。我想在 WHEN-VALIDATE-ITEM 触发器上将其转换为 18900508 以进行比较。

我对此很陌生,不知道从哪里开始。下面是我目前正在使用的代码。

BEGIN
    --Convert date from 08-May-1890 to 1890508
    IF( TO_CHAR(:EMPLOYEE.DOB,'YYYY-MON-DD') < 20180927)THEN
        --Do Something in here
        RAISE FORM_TRIGGER_FAILURE;
    END IF;
END;

如果employee.dob是字符串,先转日期,再转字符串,比较值必须是字符串:

BEGIN
    --Convert date from 08-May-1890 to 1890508
    IF( TO_CHAR(TO_DATE(:EMPLOYEE.DOB,'YYYYMONDD', 'NLS_DATE_LANGUAGE = English'),'YYYYMMDD') < '20180927' )THEN
        --Do Something in here
        RAISE FORM_TRIGGER_FAILURE;
    END IF;
END;

如果 employee.dob 已经是一个日期,并且与字符串进行比较:

BEGIN
    --Convert date from 08-May-1890 to 1890508
    IF( TO_CHAR(:EMPLOYEE.DOB,'YYYYMMDD') < '20180927' )THEN
        --Do Something in here
        RAISE FORM_TRIGGER_FAILURE;
    END IF;
END;

但如果 employee.dob 是日期列,则 不要 将其转换为字符串,而是将其与日期进行比较

BEGIN
    --Convert date from 08-May-1890 to 1890508
    IF :EMPLOYEE.DOB < to_date('20180927','YYYYMMDD') )THEN
        --Do Something in here
        RAISE FORM_TRIGGER_FAILURE;
    END IF;
END;