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

選択範囲内のすべての列をSQLServerで連結する方法

    特定のテーブル名の任意の数の列;列名が必要な場合 <text>でラップ

    DECLARE @s VARCHAR(500)
    
    SELECT @s =  ISNULL(@s+', ','') + c.name   
    FROM  sys.all_columns c join sys.tables  t 
                ON  c.object_id = t.object_id
    WHERE t.name = 'YourTableName'
    
    SELECT '<text>' + @s + '</text>'
    

    SQLフィドル こちらの例

    -- RESULTS 
    <text>col1, col2, col3,...</text>
    

    クエリを選択する必要がある場合結果セットをラップ <text>を使用 次に;

    SELECT @S =  ISNULL( @S+ ')' +'+'',''+ ','') + 'convert(varchar(50), ' + c.name    FROM 
           sys.all_columns c join sys.tables  t 
           ON  c.object_id = t.object_id
    WHERE t.name = 'YourTableName'
    
    
    EXEC( 'SELECT ''<text>''+' + @s + ')+' + '''</text>'' FROM YourTableName')
    

    SQLフィドル こちらの例

    --RESULTS
    <text>c1r1,c2r1,c3r1,...</text>
    <text>c1r2,c2r2,c3r2,...</text>
    <text>c1r3,c2r3,c3r3,...</text>
    


    1. MYSQLの結果で数値を単語に変換します!クエリの使用

    2. SQL INSERTクエリを改善して、SQLインジェクションを回避します

    3. スキーマパターン検索からデータクラスへの関連付け

    4. PHPオブジェクトプロパティには角かっこが含まれています