首页 > 解决方案 > MySQL:计算两个日期之间的时间

问题描述

我正在尝试创建一个函数,当我通过它传递 datetime 参数时,它会确定时差。如果 orig_date 在将来,我还想返回 0,或者如果它在过去,则返回小时差。谁能帮我弄清楚出了什么问题?我得到的错误是Incorrect DATETIME value: '0000-00-00 00:00:00'我还没有做一个 if 语句来检查它是否在未来,任何关于这方面的指导都将不胜感激,因为我不知道它会如何完成。

到目前为止,这是我的功能:

CREATE FUNCTION table.calc_time(orig_date datetime)
RETURNS int
 DETERMINISTIC
BEGIN
    #DECLARE elapsed_time datetime;
    DECLARE today datetime;
DECLARE difference int;
SET today = now();
SET difference = timediff(orig_date, today)/3600;
    RETURN (difference);
END

标签: mysql

解决方案


推荐阅读