MySql не предоставляет никаких функций разделения строк (что я знаю). Как правило, лучше хранить этот тип данных в разных столбцах.
Но если у вас нет возможности хранить его по-другому, вы можете быть в состоянии достичь определенных результатов с помощью функции SUBSTRING_INDEX ..
SELECT `value` ,
SUBSTRING_INDEX(`value` , ',', 1) AS a,
SUBSTRING_INDEX(SUBSTRING_INDEX(`value` , ',', 2),',',-1) AS b,
SUBSTRING_INDEX(SUBSTRING_INDEX(`value` , ',', -2),',',1) AS c,
SUBSTRING_INDEX(`value` , ',', -1) AS d
FROM (SELECT "1,2,3,4" AS `value`) AS t;
Это дает следующий результат в виде строки: ' 1,2,3,4' , '1', '2', '3', '4'
Смотрите комментарии, расположенные здесь: http://dev.mysql.com/doc/refman/5.1/en/string-functions.html
насколько разделив его на отдельные строки, я Я не знаю, как бы ты это сделал. Если можно нормализовать структуру db, которая может быть лучше.
Что значит «вам нужны?»? Можете ли вы рассказать нам, что вы делаете, как должны выполняться запросы и как их потреблять. Пожалуйста, помните, что мы ничего не знаем о вашей системе. –
Вы хотите, чтобы они были отдельными столбцами в результирующем наборе или в виде отдельных строк в результирующем наборе? –
Мне нужны они в виде отдельных строк. – marius