Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Teilen Sie die durch Kommas getrennte Zeichenfolge in MySQL in Zeilen auf

Verwenden Sie eine Unterabfrage mit beliebigen Ziffern, um Ihre Zeichenfolge aufzuteilen. Anstelle von Werten können Sie '1,2,3' verwenden.

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;

Sehen Sie, dass es funktioniert