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

コンマ区切りの文字列を列に分割する

    これを試してください:

    declare @s varchar(50) = '1,A;2,B;3,C'
    --convert string to xml table (I used HTML tags for clarity)
    declare @xml xml = cast('<tr><td>' + replace(replace(@s, ';', '</td></tr><tr><td>'), ',', '</td><td>') + '</td></tr>' as xml)
    --query the xml to get SQL table
    select tbl.col.value('td[1]', 'int') [ID],
           tbl.col.value('td[2]', 'varchar(10)') [Text]
    from @xml.nodes('/tr') tbl(col)
    

    詳細については、Xml をテーブル SQL Server に変換



    1. MariaDBの保存データの暗号化に関する考慮事項

    2. 正規化とスケーラビリティを念頭に置いてデータベースにアプローチするときに、テーブル列でテキスト識別子を使用することについてどう思いますか?

    3. SQL Server のテーブル変更エラーをキャッチできません

    4. PL/PerlはPostgresqlでメールを送信します