You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Datagrip中MariaDB执行SELECT DATE('2018-03-01')返回异常,MySQL正常

解决Datagrip连接MariaDB时DATE()函数返回错误日期的问题

这种问题十有八九是时区不匹配搞的鬼,毕竟DATE()函数的结果会跟着数据库会话或客户端的时区走,咱们一步步排查解决:

  • 先查Datagrip的连接时区设置
    打开你的MariaDB连接配置,找「Advanced」或者「连接属性」板块,看看有没有设置serverTimezone或者time_zone参数。要是没设置,手动加上serverTimezone=UTC(或者你当地的时区,比如Asia/Shanghai),然后重新连数据库试试。另外也可以直接在Datagrip里跑SELECT @@session.time_zone;,对比MySQL客户端里跑同一句的结果,看看两个会话的时区是不是不一样。

  • 再核对MariaDB服务器的全局时区
    用XAMP自带的MySQL客户端(比如phpMyAdmin或者命令行)执行SELECT @@global.time_zone;,再在Datagrip里跑一遍,确认两边看到的全局时区一致。如果不一样,说明Datagrip连接时偷偷覆盖了时区参数,得调整连接配置。

  • 检查视图的执行环境
    先试试在Datagrip里直接跑SELECT DATE('2018-03-01');(别通过视图),看结果对不对。如果直接跑就错,那问题肯定在连接时区;如果直接跑对,那就是视图的锅——可能创建视图时的会话时区和现在不一样。这时候可以用SHOW CREATE VIEW your_view_name;查看视图定义,然后在Datagrip里把时区调成和创建视图时一致,或者干脆重新创建视图。

  • 最后提一嘴,Datagrip 2018.1版本有点老了,说不定存在时区处理的旧bug,要是上面的方法都没用,试试升级到新一点的Datagrip版本,说不定问题直接就没了。

内容的提问来源于stack exchange,提问作者Kento Kai Azar Axor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.22 08:16:32