我已经编写了一个程序来查找两个日期之间的差异,并以YYYY-MM-DD
格式显示结果,但遇到错误。谁可以帮我这个事?PL/SQL:两个日期之间的差异
CREATE OR REPLACE PROCEDURE DATECALCULATOR(DATE_1 IN DATE, DATE_2 IN DATE) AS
DATEDIFF DATE;
BEGIN
DATEDIFF=TO_DATE(DATE_1,'YYYY-MM-DD')-TO_DATE(DATE_2,'YYYY-MM-DD');
DBMS_OUTPUT.PUT_LINE ('Date difference is: ' || TO_DATE(DATEDIFF,'YYYY-MM-DD'));
END;
/
Excecute程序代码:
EXECUTE DATECALCULATOR('2017-09-10', '2010-01-01');
你不能做到这一点。你的期望是什么? '0007-09-10'?你会考虑这个输出的闰年吗?你认为30天的“一个月”是什么? 31天?什么是“一年”? –
谢谢! 应该怎么做才能得到YYYY-MM-DD格式的结果? –
我的评论不清楚吗? YYYY-MM-DD是**日期**,即时间线上的某个点,日历中的某一天。两个日期之间的差异是一个时间间隔。您不能将其格式设置为YYYY-MM-DD - 至少不能以有用的方式进行格式化。为我的问题提供答案,然后您可能会得到一个丑陋解决方法的解决方案。 –