发现一个KingBase SQL concat函数的BUG

 先看SQL,我们先不管具体的查询方式,只看select的字段。查出的结果是

 可以看到,能正常查出结果,那我们把null的值过滤掉

加上一条where语句。查出来的结果没有问题

 可以看到没有问题

但是当我们使用concat 把查询的字段包裹起来

 查询一下

 得到是这样的结果。我还以为这些空的表格是concat拼接出来的空字符串。结果不是的

重点来了,我们用空字符串过滤一下

按道理来说,应该查出来是没有空的,全是有值的列表。但是查询出来一条数据也没有

 这说明,concat 包裹为null的字段之后,得到的值不是null,也不是空字符串。qwq

有点懵,有没有大神告诉我一下 这是为什么qwq

 

Kingbase数据库中,可以使用String_agg()函数来替代MySQL中的GROUP_CONCAT()函数来拼接字段为字符串。 例如,可以使用以下语句来实现类似的功能: SELECT String_agg(CONCAT('%',C1), ';' ) FROM TABLE_NAME; 关于Kingbase数据库在处理关键字字段时的适配问题,beetlsql在处理MySQL时可能不会报错,但在Kingbase中可能会出现问题。例如,如果你的字段名为"group",使用beetlsql的自带方法进行查询或查找时可能会报错。在这种情况下,你可以考虑修改字段名或者将自带方法改为使用SQL来实现相同的功能。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [人大金仓kingbase数据迁移及使用问题](https://blog.csdn.net/weixin_50780863/article/details/117551720)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] - *3* [mysql(beetlsql框架)适配人大金仓(KingBase)有感](https://blog.csdn.net/a8425/article/details/130160153)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值