Mysql group_concat не выводит целые данные

Я использую следующий запрос и используя функцию 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

Ответы

Ответ 1

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;

Ответ 2

Еще один пример Пример Выполните такие действия

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

Ответ 3

Задайте group_concat_max_len перед запросом:

SET GLOBAL  group_concat_max_len = 9999999;