SQL CODE -104(错误)代表什么?

Ber*_*ice 13 java sql db2 jcc sqlcode

我正在通过jcc执行SQL查询来运行报告.当我打开程序的错误日志文件并检查SQL查询时,一切似乎都很好(没有额外或缺少括号,逗号等,语法很好)但是当我执行时我收到此错误:

[Report.execute()] DB2 SQL错误:SQLCODE = -104,SQLSTATE = 42601,SQLERRMC = ,; ATE IN(1,2,3,10,1);, DRIVER = 4.12.55

当我研究SQLCODE时,我发现它意味着查询中存在非法符号.我能找到什么来找到这个非法的符号?

这是查询

在此输入图像描述

很抱歉这个小字体,但如果你缩放200%左右,你可以更好地看到查询.

非常感谢 :)

Boh*_*ian 14

你在这一行的末尾有一个逗号(你不应该在那里):

AND Tick.STATE IN (1,2,3,10,1),
Run Code Online (Sandbox Code Playgroud)

以下行也有同样的问题.


ram*_*nan 6

一般来说,这个 SQL 错误代码表示您插入了一些额外的字符,例如',''('')'或类似的字符。检查跟踪中的完整查询将对在 Java 程序等中编写 Sql 查询的人有所帮助,因为我花了大约 2 个小时才发现查询中存在额外的 ')'。