Если 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;