解决达梦(DM)使用CONCAT/GROUP_CONCAT函数报错:无法解析的成员访问表达式[GROUP_CONCAT]

在进行MySQL到DM的数据库迁移过程中,遇到了CONCAT和GROUP_CONCAT在分组查询中不适用的问题,导致接口测试出错。尝试使用DM提供的函数替代,但未成功。最终,通过使用WM_CONCAT函数解决了动态拼接字符串的难题,尽管该函数在达梦的技术文档中未被提及。
摘要由CSDN通过智能技术生成
  • 背景:

最近着手公司项目数据库迁移工作(MySQL->DM),接口测试时dao层测试类和查询类出了不少问题。比较头疼的是函数兼容问题,CONCAT是其中之一。

  • 原SQL语句:
SELECT AA, GROUP_CONCAT(BB) BB, GROUP_CONCAT(CC) CC
FROM test
WHERE 1 = 1
GROUP BY AA;
  • 报错信息:(使用CONCAT/CONCAT_WS函数报错信息相同)

在这里插入图片描述

  • 解决思路

使用DM技术文档CONCAT(char1,char2,char3…)函数和CONCAT_WS(delim, char1,char2,char3,…)函数,发现还是报错。
分析原因后觉得这两个函数只能作用于普通查询,无法作用于分组查询,无法根据分组条件动态拼接字符串

  • 解决方式

使用WM_CONCAT函数(达梦技术文档居然没有这玩意儿)

SELECT AA, WM_CONCAT(BB) BB, WM_CONCAT(CC) CC
FROM test
WHERE 1 = 1
GROUP BY AA;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值