Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Định dạng đầu ra của PowerShell SQL Server thành các cột và hàng

Export-Csv mong đợi đầu vào là các đối tượng. Đầu vào chuỗi được coi là các đối tượng chuỗi, chỉ có một thuộc tính (Length ), vì vậy chỉ thuộc tính này được xuất. Nếu đầu vào của bạn là một mảng chuỗi, bạn cần biến nó thành một đối tượng, ví dụ:như thế này:

$array = "foo", "bar", "baz"

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

Ở trên sẽ tạo một tệp output.csv với nội dung sau:

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

Tên thuộc tính (a , b , c ) trở thành tiêu đề CSV, các giá trị thuộc tính (foo , bar , baz ) trở thành các giá trị CSV.

Nếu truy vấn SQL của bạn tạo ra một danh sách các mảng, có thể bạn sẽ phải làm như sau:

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

Tuy nhiên, tôi không có máy chủ SQL trong tay, vì vậy hãy mang theo chút muối.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. t-sql chọn nhận tất cả các Tháng trong một phạm vi năm

  2. ĐẾM (DISTINCT) trong nhiều cột trong SQL Server 2008

  3. Sắp xếp các kết quả SQL Server theo mệnh đề IN

  4. Số cột tối đa được phép trong Dạng xem SQL Server 2008 là bao nhiêu?

  5. Cách bỏ tất cả các Khóa chính khỏi tất cả các bảng trong Cơ sở dữ liệu SQL Server - Hướng dẫn SQL Server / TSQL Phần 65