MySQL如何计算2个日期之间相差的天数?

你好,以前有客户问我如何计算MySQL中两个日期之间的天数。
我会告诉你。
最正确的方法是使用 DATED 函数。
我去年在杭州做生意的时候就用过这个。
很简单。
只需输入 DATEDiff('2 02 3 -05 -01 ', CURDATE()),它就会立即给出天数差异。
这个功能用起来确实很方便。
您不必担心时区或类似的问题,它会立即为您完成。

但是,当遇到旧的、过时的训练时,不支持 DATEDIFF,所以尝试 TIMESTAMPDIFF。
这是因为该项目报告的工作已提前于明年进行。
我用 TIMESTAMPDIFF(DAY, '2 02 2 -01 -01 ', NOW()) 来写这个。
单位定义为DAY,结果准确。
该功能的优点是单位可选,在秒、分钟、天之间,所以比较灵活。

如果你觉得这两个函数太普通,想做点好玩的,也可以用UNIX_TIMESTAMP来表示时间,然后计算。
我有一个朋友去年在广东从事大数据工作,他们的系统想做这个。
SELECT (UNIX_TIMESTAMP(date1 )
UNIX_TIMESTAMP(date2 )) / 8 6 4 00 AS 日期是这样写的,将时间转换为秒,用秒数减去并除以天,最后得到天数。
这种方法适合复杂的计算,但编写起来比较困难。

如果您想知道什么是最好的?我的立场是明确的,简单而直接。
TIMESTAMPDIFF 也可以工作,它很灵活。
想清楚就行了...好吧,除非你有特殊需求,我一般不推荐。
无论如何,这取决于你!

datediff函数在MySQL中的用法

等等,昨天我翻老照片的时候,看到一张毕业照,日期是2 01 2 年6 月1 5 日,我突然想数一数已经过去了多少天了。
我查看了手机上的日历。
现在是 2 02 3 年 9 月 2 5 日。
嘿,怎么了?一想到这里,我就打开电脑,搜索MySQL笔记。
DATEDIFF 函数立即出现。
输入 SELECT DATEDIFF('2 02 3 -09 -2 5 ', '2 01 2 -06 -1 5 ');然后按回车,结果出现:4 3 8 7 天。
哇,快 4 ,4 00 天了。
照片中的脸似乎没有太大变化,除了眼角出现了几条皱纹。
数字是冰冷的,但时间留下的痕迹却是真实的。
我突然想到,如果我也能找出当年照片中的天气数据并进行比较,那就太好了。