Is there a way to create a set from a string of separated values in MySQL? For example:
\'the,quick,brown,fox\' => \'the\',\'quick\',\'brown\',\'fox\'
A
Tested on MySQL 5.1.41:
DROP TABLE IF EXISTS n;
CREATE TEMPORARY TABLE n AS
SELECT -1 AS N UNION
SELECT -2 UNION
SELECT -3 UNION
SELECT -4 UNION
SELECT -5;
DROP TABLE IF EXISTS foo;
CREATE TABLE foo AS
SELECT 'the,quick,brown,fox' AS csv;
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(foo.csv, ',', n.n), ',', 1) AS word
FROM foo JOIN n
ON (LENGTH(REPLACE(foo.csv, ',', ''))-LENGTH(foo.csv) <= n.n+1);
Result:
+-------+
| word |
+-------+
| fox |
| brown |
| quick |
| the |
+-------+