mysql group_concat自增主键问题

本文介绍了在 MySQL 中如何正确使用 group_concat 函数处理数字类型字段的问题,特别是通过 conv 函数解决八进制转换成十进制的需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在进行分组时,有时候需要将某一字段的值以逗号或其它符号拼接在一起,可以使用group_concat函数来完成,如果要拼的字段是字符型的,很好办,用group_concat(字段名 separator ",")就行.
今天在测试程序时,发现有问题,后来发现就是group_concat函数的问题,拼接的字段是主键ID,我设为自动增长,我使用 group_concat(oct(doId) separator ",")发现拼接的主键不对劲,如果不使用oct()函数,对于要拼接的字段是数字型的这种情况,产生的结果就会是一个BLOB数据,因此要使用函数来处 理一下,后来我查了查MYSQL手册,发现oct()函数是返回一个8进制的数,原因找到了就好解决了,于是就再找啊找啊,找到了conv()函数,再转 换成10进制的数字就OK了,返回的结果正如我意,group_concat(conv(oct(doId),8,10) separator ",") 和
group_concat(conv(conv(doId,10,8),8,10) separator ',') 产生的效果是一样的

 

转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值