我们可以在 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。不允许这样的计算可能会使更多人更容易编写正确的代码。
日期时间的处理方式相同,只是值要大得多,因为小时、分钟和秒被添加到整数中。
学习中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。不允许这样的计算可能会使更多人更容易编写正确的代码。
日期时间的处理方式相同,只是值要大得多,因为小时、分钟和秒被添加到整数中。