【问题标题】:Casting a date in MySQL returns the previous date在 MySQL 中转换日期会返回上一个日期
【发布时间】:2019-11-08 13:09:15
【问题描述】:

我对这个问题有疑问。为什么 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;

此行为影响了我的一份报告的最终结果。我通过增加一天解决了这种情况。但是,我想了解这个结果。

问候,

【问题讨论】:

    标签: mysql date casting


    【解决方案1】:

    我想这是某种时区问题。假设您的时区比 MySQL 服务器所在的时区早几个小时,MySQL 可能会向后调整这些传入日期以匹配服务器时区。

    尝试运行以下查询以找出 MySQL 的服务器时区:

    SELECT @@global.time_zone, @@session.time_zone;
    

    然后,将其与您当前的时区进行比较。

    【讨论】:

      猜你喜欢
      • 2018-09-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-15
      • 2019-06-10
      • 1970-01-01
      • 1970-01-01
      • 2010-12-18
      相关资源
      最近更新 更多