mysql - 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
解决方案
推荐阅读
- python - 熊猫数据框的减法
- javascript - 每次我使用 javascript 提交表单时,我的 LI 都会重复
- google-cloud-platform - 没有支持合同的 GCP 项目迁移
- c# - 试图在同一视图上显示来自同一模型的两个不同的数据表
- tizen - How to add rounded background or ellipsical shape on Tizen native wearable?
- azure - IISExpress - 由于权限不足,redirection.config 无法读取配置文件
- java - 基于哪个实现确实 await 和 signalAll 工作
- javascript - 更新一个 setState 属性会导致 reactjs 中的另一个属性自动更改
- unit-testing - 由于 HttpStatusCode.TemporaryRedirect 导致 VSTS 管道中的 ASP.NET Core 单元测试失败
- javascript - API React 字符串操作