2017-07-05 3 views
1

の行に文字列を分け、2、3 ... は、私はそれは、SQLクエリによっては可能です1列スプリットコンマは、MySQL

Ids 
1 
2 
3 

としてこれを使用したいのですが?

例)SELECT Ids from (1, 2, 3...) < - これは機能していないことがわかりました。

+0

? – Mihai

+0

どのdbmsを使用していますか? (文字列リストはSQLの世界にはうまく収まりません) – jarlh

+0

mysql dbmsを使用します – Bewan

答えて

1

任意の桁のサブクエリを使用して文字列を分割します。その代わりに、 '1,2,3'を使用できます。風味をSQL

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; 

See it working

+1

という節からです。どうもありがとうございました。 – Bewan

+0

申し訳ありませんが、私は何か質問しています。文字列の長さが固定されていない場合は、変換できますか? – Bewan

+0

はい、さまざまな長さで動作します – Mihai