mysql 为什么两个日期相减的结果与使用DATEDIFF()的结果不同?

ykejflvf  于 2023-03-07  发布在  Mysql
关注(0)|答案(1)|浏览(169)

这两个函数有何不同?两列都是日期类型。
我使用的查询是

SELECT 
     period_start,
     period_end,
     period_end - period_start AS subtract,
     DATEDIFF(period_start,period_end) AS datediff
FROM some table

| 周期_开始|期末|减法器|日期差异|
| - ------|- ------|- ------|- ------|
| 2019年1月25日|2019年2月28日|一百零三|三十四|
| 2019年1月25日|2019年2月28日|一百零三|三十四|
| 2019年1月25日|2019年2月28日|一百零三|三十四|
| 2018年12月1日|2020年1月1日|小行星18900|三九六|

az31mfrm

az31mfrm1#

datediff()date_sub()是执行日期比较的唯一有效方法。
减去两个日期并不会达到你的预期效果,它会将日期转换成一个数字,然后减去这两个数字。
在以下日期执行的整数运算的贷方为@nbk:
| 周期_开始|期末|数学|结果|
| - ------|- ------|- ------|- ------|
| 2019年1月25日|2019年2月28日|小行星190228 - 190125|一百零三|
| 2019年1月25日|2019年2月28日|小行星190228 - 190125|一百零三|
| 2019年1月25日|2019年2月28日|小行星190228 - 190125|一百零三|
| 2018年12月1日|2020年1月1日|二○ ○一○一至十八一二○一|小行星18900|

相关问题