SQL 代码 -104(错误)可以表示什么?

2022-09-04 01:49:52

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

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

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

这是查询

enter image description here

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

非常感谢:)


答案 1

您在这一行的末尾有一个逗号(你不应该的地方):

AND Tick.STATE IN (1,2,3,10,1),

下面的行也有同样的问题。


答案 2

通常,此SQL错误代码表示您插入了一些额外的字符,例如“,”“(”“)”或某种类型。检查跟踪中的完整查询将有助于在Java程序中编写Sql查询的人,因为我花了大约2个小时才弄清楚我的查询中有一个额外的“)”。


推荐