gpt4 book ai didi

MySQL - 从持续时间中减去时间(不是日期时间)

转载 作者:行者123 更新时间:2023-11-29 12:00:57 25 4
gpt4 key购买 nike

规范:我在 OSX Yosemite 上使用 MySQL 5.6 和 SQLWorkbench、SequelPro

查询背景:我正在尝试更正周末和银行假日的一组 TIMESTAMPDIFF 持续时间。我有 2 个存储过程,它们给我两个日期之间的星期六、星期日和银行假日的数量 - 这些工作正常。因此,为了获得更正的 TIMESTAMPDIFF,我将周六、周日和节假日的数量乘以 24,以获得要减去的小时数,然后从 TIMESTAMPDIFF 中减去该数字。

示例: 例如,如果时间戳 A 为周五的 14:00,时间戳 B 为周二的 14:01,则​​原始 TIMESTAMPDIFF 为 96:01: 00.假设周一是假期,周末是 48:00:00,我想从 96:01:00 中减去 72:00:00,得到 24:01:00 的“工作日差异”。

问题:当我执行诸如 "96:01:00"- "72:00:00"as date_sub_test 之类的操作时,我得到 24。我丢失了所有格式,包括 01 分钟。持续时间不是 DATETIME,因为它们与日历日期不对应,因此我无法使用 DATE_ADD/DATE_SUB

问题:我应该如何从持续时间中减去时间,保留格式和相关的 60 进制系统,例如每小时 60 分钟,而不是 100?

提前致谢!

最佳答案

Jaydee comment 中提到:

Have you tried the TIMEDIFF function? https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_timediff

TIMEDIFF 正是我正在寻找的。我还在 ABS() 中添加了负时间差为正值,并添加了 MAKETIME() 以根据整数创建时间。

关于MySQL - 从持续时间中减去时间(不是日期时间),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32393855/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com