注册

druid报错,但是sql可以正常执行

王笑聪 2022/08/26 2331 2

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1.1.49
【操作系统】:windows
【CPU】:16G
【问题描述】*:springboot项目,druid版本为1.1.20,达梦版本为8.1.1.49,执行sql druid报错信息如下:com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'atic PIVOT (max(M_grossweight) FOR ', expect RPAREN, actual LPAREN pos 714, line 1, column 713, token LPAREN
但是页面正常展示,放在达梦管理工具中也可以正常执行sql如下:

WITH CARRIER_grossweight_static AS ( SELECT CARRIER, SUBSTR(SENDDATE,0,4) AS YEARS, SUBSTR(SENDDATE,5,2) AS MONTHS, round(sum(grossweight)/1000,2) AS M_grossweight FROM U_NETWORK_FREIGHT.YW_IMP_CARGO_MR_BODY a LEFT JOIN U_NETWORK_FREIGHT.YW_IMP_CARGO_MR_BODY_GOOD b ON a.mrnumber=b.MRNUMBER GROUP BY SUBSTR(SENDDATE,0,4),SUBSTR(SENDDATE,5,2),CARRIER ) SELECT T.CARRIER,T.YEARs,S.total_grossweight AS num, NVL(one,0) one, NVL(two,0) two, NVL(three,0) three, NVL(four,0) four, NVL(five,0) five, NVL(six,0) six, NVL(seven,0) seven, NVL(eight,0) eight, NVL(nine,0) nine, NVL(ten,0) ten, NVL(eleven,0) eleven, NVL(twelve,0) twelve FROM CARRIER_grossweight_static pivot ( max(M_grossweight) FOR months IN( '01' one ,'02' two,'03' three,'04'four,'05'five, '06'six,'07'seven,'08'eight,'09'nine,'10'ten,'11'eleven,'12'twelve) ) T LEFT JOIN ( SELECT CARRIER,years,nvl(sum(M_grossweight),0) total_grossweight FROM CARRIER_grossweight_static GROUP BY CARRIER,years ) S ON T.carrier = S.carrier AND T.years=s.years WHERE T.years = '2022'

其他数据库都可以正常执行。这种情况应该如何解决,如果有其他更为规范的写法,麻烦告知。

回答 0
暂无回答
扫一扫
联系客服