水煮魚
2019-08-13 18:36
采纳率: 50%
浏览 629
已采纳

jdbc中无法识别sql语句中的变量

直接执行SQL没有问题

SET @i :=- 1;
SELECT
    date_format( DATE_SUB( '2019-08-13', INTERVAL ( @i := @i + 1 ) DAY ), '%Y-%m-%d' ) AS `time` 
FROM
    changegroup 
WHERE
    @i <= 10 

但在java代码里报错,提示语法错误,希望各位码友指教,如何解决?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 葫芦胡 2019-08-14 09:05
    已采纳

    改成这样写:
    SELECT
    date_format( DATE_SUB( '2019-08-13', INTERVAL ( @i := @i + 1 ) DAY ), '%Y-%m-%d' ) AS time
    FROM
    changegroup ,
    (SELECT @i :=- 1) i
    WHERE
    @i <= 10

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • Json-Huang 2019-08-13 20:22

    java不支持这样的语法,可以使用foreach进行循环操作

    评论
    解决 无用
    打赏 举报
  • hellolxb 2019-08-13 20:38

    jdbc 不是 java 自己封装了一些方法来实现数据库的吗

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题