SQL语法错误,而不是我的查询

时间:2016-10-07 13:26:40

标签: sql syntax-error

我得到了一些SQL来对我们的数据库运行,它抛出了一个语法错误。我看了看,找不到丢失的表情。有人可以帮忙吗?它表示第6行第42列,它与第一列" ts"。

相关

谢谢, 安德鲁

SELECT "IWRKGRPQUEUESTATS"."CNAME", "IWRKGRPQUEUESTATS"."CHKEY3", "IWRKGRPQUEUESTATS"."NENTEREDACD", "IWRKGRPQUEUESTATS"."NINTERNTOEXTERNCALLS", "IWRKGRPQUEUESTATS"."NANSWEREDACD", "IWRKGRPQUEUESTATS"."TANSWEREDACD", "IWRKGRPQUEUESTATS"."TTALKACD", "IWRKGRPQUEUESTATS"."CHKEY4", "IWRKGRPQUEUESTATS"."DINTERVALSTART", "IWRKGRPQUEUESTATS"."NHOLDACD", "IWRKGRPQUEUESTATS"."THOLDACD", "IWRKGRPQUEUESTATS"."NABANDONEDACD", "IWRKGRPQUEUESTATS"."NABANDONACDSVCLVL1", "IWRKGRPQUEUESTATS"."NABANDONACDSVCLVL2", "IWRKGRPQUEUESTATS"."NABANDONACDSVCLVL3", "IWRKGRPQUEUESTATS"."NABANDONACDSVCLVL4"
FROM "ADMIN"."IWRKGRPQUEUESTATS" "IWRKGRPQUEUESTATS"
WHERE "IWRKGRPQUEUESTATS"."CHKEY4"=N'*' AND "IWRKGRPQUEUESTATS"."CHKEY3"<>N'*' 
AND ("IWRKGRPQUEUESTATS"."CNAME">=N'ATEAM' 
AND "IWRKGRPQUEUESTATS"."CNAME"<=N'STORES') 
AND ("IWRKGRPQUEUESTATS"."DINTERVALSTART">={ts '2016-08-17 00:00:00'} 
AND "IWRKGRPQUEUESTATS"."DINTERVALSTART"<{ts '2016-08-17 23:59:59'})
ORDER BY "IWRKGRPQUEUESTATS"."CNAME";

1 个答案:

答案 0 :(得分:1)

{ts '2016-08-17 23:59:59'}是JDBC的转义序列(我认为ODBC也是如此)。

在将语句发送到服务器之前,客户端(驱动程序)将这些转义序列(必须)转换为正确的语法。

所以无论你使用什么SQL客户端显然都不支持它(它不使用JDBC或ODBC)