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

使用DATE_ADD函数报错:JdbcSQLSyntaxErrorException函数DATE_ADD未找到

解决nativeQuery中DATE_ADD函数找不到的问题

可能的原因及解决方案

1. 数据库连接不匹配

你执行语句的数据库并非MySQL(比如连接了H2、PostgreSQL等其他数据库),这些数据库并不支持DATE_ADD函数:

  • H2数据库对应函数为DATEADD,语法是DATEADD(HOUR, 1, my_date)
  • PostgreSQL直接用my_date + INTERVAL '1 hour'

解决办法:
检查你的数据库连接配置,确保:

  • JDBC URL是MySQL格式:jdbc:mysql://localhost:3306/your_database_name
  • 使用MySQL官方驱动:com.mysql.cj.jdbc.Driver(MySQL 8+版本)或com.mysql.jdbc.Driver(旧版本)

2. ORM框架方言配置错误

如果用的是Hibernate/JPA,方言未设置为MySQL对应的版本,会导致框架无法识别MySQL特有的函数:

解决办法:
在配置文件中指定正确的Hibernate方言:

  • MySQL 8+:hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
  • MySQL 5.7:hibernate.dialect=org.hibernate.dialect.MySQL57Dialect

3. 改用兼容写法

如果确认连接的是MySQL但仍报错,可以尝试MySQL的等价替代写法,避免函数调用:

UPDATE my_table SET my_date = my_date + INTERVAL 1 HOUR

内容的提问来源于stack exchange,提问作者RotS

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 14:52:03