MySQL str_to_date 在 Datagrip 中返回日期减去一天
MySQL str_to_date returning the date minus one day in Datagrip
如果我遗漏了什么,我深表歉意,不过我从来没有遇到过这种情况。
我注意到我的查询是 return 错误的日期,我正在传递 '2019-07-19'
并且它给了我 '2019-07-18'
的结果集
现在我看到这个输出:
select str_to_date('2019-07-19', '%Y-%m-%d');
1| '2019-07-18'
谁能解释为什么会这样?这不是我的数据库,所以我没有配置任何设置。
我正在使用 datagrip 执行上面的查询,它给出了奇怪的答案。
当我通过 cli 执行时,我得到了正确的 return。
运行
SELECT @@global.time_zone, @@session.time_zone, @@system_time_zone, TIMEDIFF(NOW(), UTC_TIMESTAMP);
1| SYSTEM | SYSTEM | UTC | 00:00:00
在两种环境中显示相同的东西
我还看到明确说明时间戳似乎 return 也是正确的回应
select str_to_date('2019-07-19 0:00:00', '%Y-%m-%d %H:%i:%s');
1| '2019-07-19 00:00:00'
看来 datagrip 做错了什么...
在连接属性中设置相应的时区。
如果我遗漏了什么,我深表歉意,不过我从来没有遇到过这种情况。
我注意到我的查询是 return 错误的日期,我正在传递 '2019-07-19'
并且它给了我 '2019-07-18'
现在我看到这个输出:
select str_to_date('2019-07-19', '%Y-%m-%d');
1| '2019-07-18'
谁能解释为什么会这样?这不是我的数据库,所以我没有配置任何设置。
我正在使用 datagrip 执行上面的查询,它给出了奇怪的答案。
当我通过 cli 执行时,我得到了正确的 return。
运行
SELECT @@global.time_zone, @@session.time_zone, @@system_time_zone, TIMEDIFF(NOW(), UTC_TIMESTAMP);
1| SYSTEM | SYSTEM | UTC | 00:00:00
在两种环境中显示相同的东西
我还看到明确说明时间戳似乎 return 也是正确的回应
select str_to_date('2019-07-19 0:00:00', '%Y-%m-%d %H:%i:%s');
1| '2019-07-19 00:00:00'
看来 datagrip 做错了什么...
在连接属性中设置相应的时区。