我们可以在 mysql 中对日期函数使用算术运算符(+、-、* 或 /)吗?

Can we use arithmetic operators (+, -. *, or /) on date functions in mysql?

学习中mysql卡在下面的问题

我们可以在 mysql 中对日期函数使用算术运算符(+、-、* 或 /)吗?

有人可以帮我解决一下吗?

如果你问的是语法上是否可行,答案是“是”。但是这样的操作并没有达到您的预期。让我着重说明日期。

MySQL 将日期转换为数字并作为数字进行计算。因此,在评论中回答 Stu 的问题:

select date('2021-03-05') / date('2015-01-09')
--> 1.003

计算为20210305 / 20150109,用减法会更清楚:

select date('2021-03-05') - date('2015-01-09')
--> 60,196

而实际天数差异为 2,247。

这有用吗?在我看来,不,不,不。人们期望日期将具有作为日期的操作,所以

    select date('2021-03-05') - date('2021-02-28')

将是 6 而不是 77。不允许这样的计算可能会使更多人更容易编写正确的代码。

日期时间的处理方式相同,只是值要大得多,因为小时、分钟和秒被添加到整数中。