我正在使用以下查询并使用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
答案 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_packet的。在运行时更改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;