sql >> Databáze >  >> RDS >> Mysql

Rozdělte řetězec oddělený čárkami do řádků v mysql

K rozdělení řetězce použijte dílčí dotaz s libovolnými číslicemi. Místo hodnot můžete použít '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;

Podívejte se, jak to funguje



  1. jak použít FORMÁT DATA v mém dotazu?

  2. Soubor MySql mysql.h nebyl nalezen ve VS2008 C++ <Otázka pro začátečníky>

  3. Vypršel časový limit připojení:Nodejs Google App Engine do Cloud MySql

  4. Java/GWT/MySQL:připojení odmítnuto?