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

PowerShellSQLServer出力を列と行にフォーマットする

    Export-Csv 入力がオブジェクトであることを期待します。文字列入力は、1つのプロパティ(Length)を持つ文字列オブジェクトと見なされます )、したがって、このプロパティのみがエクスポートされます。入力が文字列の配列である場合は、それをオブジェクトにする必要があります。このように:

    $array = "foo", "bar", "baz"
    
    New-Object -Type PSCustomObject -Property @{
      "a" = $array[0]
      "b" = $array[1]
      "c" = $array[2]
    } | Export-Csv output.csv -NoTypeInformation
    

    上記はファイルoutput.csvを作成します 次の内容で:

    "c","a","b"
    "baz","foo","bar"
    

    プロパティ名(abc )はCSVヘッダー、プロパティ値(foo)になります 、barbaz )CSV値になります。

    SQLクエリが配列のリストを生成する場合は、おそらく次のようなことを行う必要があります。

    Invoke-Sqlcmd ... | % {
      New-Object -Type PSCustomObject -Property @{
        "col1" = $_[0]
        "col2" = $_[1]
        "col3" = $_[2]
      }
    } | Export-Csv output.csv -NoTypeInformation
    

    ただし、SQLサーバーが手元にないので、一粒の塩を用意してください。



    1. sql/oracleの電子メール/郵便番号フィールドの検証

    2. MySQL:DELETEがINSERTよりもCPUを集中的に使用するのはなぜですか?

    3. 毎月の時間ごとにラベルでユーザーをマーク

    4. PostgreSQLでの高可用性の管理–パートIII:Patroni