sql >> データベース >  >> RDS >> Sqlserver

SQL Server 2005を使用して、カンマ区切りの値を個別の行に展開するにはどうすればよいですか?

    この関数を見てください。 Oracleでデータを分割および転置するために同様のトリックを実行しました。データをループして、デコードされた値を一時テーブルに挿入します。修道院のことは、MSがその場でこれを実行できるようにすることですが、Oracleは明示的な一時テーブルを必要とします。

    MSSQL分割関数
    より良い分割関数

    作成者による編集: これはうまくいきました。最終的なコードは次のようになりました(分割関数を作成した後):

    select pv.productid, colortable.items as color
    from product p 
        cross apply split(p.color, ',') as colortable
    


    1. MysqlのGroupByとOracleのGroupbyの動作が異なる理由

    2. PL/SQLでの2次元配列の作成またはシミュレーション

    3. SQLiteデータベース列から数値だけを返す2つの方法

    4. 演算子間のSQL