druid 不支持sql server的collate排序语法

nkoocmlb  于 2022-11-02  发布在  Druid
关注(0)|答案(1)|浏览(174)

不影响数据库执行结果,但是会一直抛出WARN日志
2019-07-03 00:00:51 WARN [catalina-exec-61] com.alibaba.druid.sql.SQLUtils - format error
com.alibaba.druid.sql.parser.ParserException: syntax error, error in :'Name collate chinese_prc_cs_as_ks_w', expect IDENTIFIER, actual IDENTIFIER pos 987, line 29, column 46, token IDENTIFIER collate

原SQL:
SELECT
m.*, n.UPDATED_DATE AS latestMaintainDate
FROM
(
SELECT
a.ID AS maintainPlanId,
a.TASK_ID AS taskID,
a.employee_code,
a.MAINTAIN_QTY AS qty,
c.CLUB_ID AS memberNo,
c.CLUB_NAME AS memberName,
c.CLUB_PICURL AS portraitUrl,
c.CLUB_PHONE AS telephone,
a.BUY_BACK_DATE AS buyBackDate,
c.CLUB_DAY AS birthday
FROM
CRM_MEMBER_MAINTAIN_PLAN a
LEFT JOIN CRM_VIP_DETAIL c ON a.MEMBER_NO = c.CLUB_ID
) m
LEFT JOIN (
SELECT
PLAN_ID,
max(UPDATED_DATE) AS UPDATED_DATE
FROM
CRM_MEMBER_MAINTAIN_RECORD
WHERE
MAINTAIN_STATUS = 0
GROUP BY
PLAN_ID,
MEMBER_NO
) n ON m.maintainPlanId = n.PLAN_ID
ORDER BY
latestMaintainDate,
memberName COLLATE chinese_prc_cs_as_ks_ws

关键看最后一句Order by。并且打印出来的日志,会把字段名给截断,只打印了Name后面的东西

jei2mxaa

jei2mxaa1#

碰到了相同的问题,大佬怎么解决?

相关问题