如何从字段转换日期以便在 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;
我正在处理 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;