我有一个带有 2 个日期参数的函数:
CREATE OR REPLACE FUNCTION date_equal
(
date1 IN DATE,
date2 IN DATE
)
RETURN NUMBER IS
equal BOOLEAN;
BEGIN
equal := NVL(date1, '1999-01-01') = NVL(date2, '1999-01-01');
IF equal THEN
RETURN 1;
ELSE
RETURN 0;
END IF;
END date_equal;
/
现在,当我在为函数提供数据的表上运行 select 时,它运行正常:
SELECT TO_DATE(some_date, 'YYYY-MM-DD') FROM tbl
但是当我尝试在函数调用中使用它时,它失败了:
SELECT date_equal(TO_DATE(some_date, 'YYYY-MM-DD'), TO_DATE(some_date, 'YYYY-MM-DD')) FROM tbl
错误消息是“文字与格式字符串不匹配”。有谁知道为什么会这样?