Mysql
 sql >> Database >  >> RDS >> Mysql

Dividi la stringa separata da virgole in righe in mysql

Usa una sottoquery di cifre arbitrarie per dividere la tua stringa. Invece di vals puoi usare '1,2,3'.

SELECT
  DISTINCT SUBSTRING_INDEX(SUBSTRING_INDEX(vals, ',', n.digit+1), ',', -1) val
FROM
  tt1
  INNER JOIN
  (SELECT 0 digit UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3  UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6) n
  ON LENGTH(REPLACE(vals, ',' , '')) <= LENGTH(vals)-n.digit;

Guarda che funziona