sql >> Database >  >> RDS >> Mysql

Door komma's gescheiden tekenreeks in rijen splitsen in mysql

Gebruik een subquery van willekeurige cijfers om uw string te splitsen.In plaats van vals kunt u '1,2,3' gebruiken.

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;

Zie het werken



  1. clojure.java.jdbc luie vraag

  2. MySQL trage query log loggen snelle queries

  3. Betekent een jokerteken in de meest linkse kolom van de samengestelde index dat de resterende kolommen in de index niet worden gebruikt bij het opzoeken van indexen (MySQL)?

  4. Hoe beïnvloeden NULL-waarden de prestaties bij het doorzoeken van een database?