我对这个问题有疑问。为什么MySQL执行此强制转换时返回上一个日期?
select cast('2019-06-26' as datetime) as date1,
cast('2019-06-26' as date) as date2,
date_add(cast('2019-06-26' as date), interval 1 day) date3;
这种行为正在影响我的一份报告的最终结果。我通过增加一天来解决了这种情况。但是,我想了解这个结果。
此致
答案 0 :(得分:0)
我想这是某种时区问题。假设您的时区比MySQL服务器所在的时区早几个小时,那么MySQL可能会向后调整这些传入日期以匹配服务器时区。
尝试运行以下查询以找出MySQL的服务器时区是什么:
SELECT @@global.time_zone, @@session.time_zone;
然后,将其与您当前的时区进行比较。