MySQL中使用GROUP_CONCAT查出结果为BLOB

小编在 MySQL 中执行查询语句发现使用 GROUP_CONCAT 关键字导致查出结果为 BLOB 类型

【附上SQL和图片】

select GROUP_CONCAT(ac.car_role) from accident_car ac  #后面省略 。。。。

 

 

问题解决,由于 GROUP_CONCAT 函数是将行转列根据自定义字符拼接,所以是字符类型,小编于是灵机一动,将它的结果转成 char 如何。结果还真的可以!!

修改之后

select cast(GROUP_CONCAT(ac.car_role)as char) from accident_car ac  #后面省略 。。。。
#下面这样也可以
select GROUP_CONCAT(cast(ac.car_role as char)) from accident_car ac  #后面省略 。。。。

 

【问题分析总结】

经过多次测试和分析后,小编得出结果

只要是 GROUP_CONCAT 中的类型为数值类型,都会导致这种现象的发生

所以才需要上面的 cast 类型强转

 

*以上仅是小编自己的见解,如有不对的地方,还请多多指教

posted @ 2019-10-10 13:50  chbyiming  阅读(2046)  评论(2编辑  收藏  举报