MySQL 执行 utc_date + 的含义1而不是使用date_add(utc_date,间隔1天)
我有一些疑问,其中日期偏移量被编码为 utc_date + 1
而不是使用 date_add
函数。使用这种方法有什么影响吗?我担心它在某些情况下会返回错误的结果,特别是当结果日期滚动到不同的月份时
I have some queries where day offsets are being coded as utc_date + 1
rather than using the date_add
function. Are their any implications of using this method? I'm worried about it returning the wrong result in some circumstances, especially when the result date rolls over to a different month
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
使用上述查询(在 MySQL 5.0.51a 上),我得到以下结果:
utc_date()+1
= 20110204date('2011-02-28')+1
= 20110229date_add('2011-02-28', 间隔 1
= 2011-03-01DAY)
所以看来,简单地在日期上加 1 就会导致 mysql 将日期值视为整数而不是日期。我建议更改您的代码以使用 date_add。
Using the above query (on MySQL 5.0.51a), I get the following results:
utc_date()+1
= 20110204date('2011-02-28')+1
= 20110229date_add('2011-02-28', INTERVAL 1
= 2011-03-01DAY)
So it appears that simply adding 1 to the date causes mysql to treat the date value as an integer and not as a date. I'd recommend changing your code to use date_add.