使用utc_date + 1而不是使用date_add(utc_date,间隔1天)的MySQL含义

时间:2011-02-03 10:39:54

标签: mysql date dateadd

我有一些查询,其中日偏移被编码为utc_date + 1,而不是使用date_add函数。他们使用这种方法有什么影响吗?我担心它会在某些情况下返回错误的结果,特别是当结果日期翻到另一个月时

1 个答案:

答案 0 :(得分:1)

select utc_date()+1, date('2011-02-28')+1, date_add('2011-02-28', INTERVAL 1 DAY)

使用上面的查询(在MySQL 5.0.51a上),我得到以下结果:

  • utc_date()+1 = 20110204
  • date('2011-02-28')+1 = 20110229
  • date_add('2011-02-28', INTERVAL 1 DAY) = 2011-03-01

所以看起来简单地在日期中加1会导致mysql将日期值视为整数而不是日期。我建议您更改代码以使用date_add。