mysql group_concat没有带来整个数据

时间:2011-04-05 00:34:16

标签: mysql sql

我正在使用以下查询并使用group_concat函数。但是,有时answers列中的数据被截断;意思是我没有得到整个数据,最后它被切断了。

我怀疑它可能与数据类型有关......它可以被转换为更大的数据类型吗?目前Other1数据类型为text

 select SiteName, 
case 
when group_concat(Other1) is not null 
  then  group_concat( cast(Other1 AS BLOB)) 
when group_concat(Other1) is null
  then  'No Response provided'
end
 'answers'
from disparities_community_partnerships
where QuarterId=2
group by SiteName

3 个答案:

答案 0 :(得分:28)

http://dev.mysql.com/doc/refman/5.0/en/group-by-functions.html#function_group-concat

  

结果被截断为group_concat_max_len系统变量给出的最大长度,该变量的默认值为1024.尽管返回值的有效最大长度受到值的约束,但该值可以设置得更高。 max_allowed_pa​​cket的。在运行时更改group_concat_max_len值的语法如下,其中val是无符号整数

SET [GLOBAL | SESSION] group_concat_max_len = val;

答案 1 :(得分:5)

又一个示例示例 像这样执行

SET GLOBAL  group_concat_max_len = 5555555;
 select SiteName, 
case 
when group_concat(Other1) is not null 
  then  group_concat( cast(Other1 AS BLOB)) 
when group_concat(Other1) is null
  then  'No Response provided'
end
 'answers'
from disparities_community_partnerships
where QuarterId=2
group by SiteName

答案 2 :(得分:0)

在查询前设置group_concat_max_len

SET GLOBAL  group_concat_max_len = 9999999;