Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Форматиране на изхода на powershell SQL Server в колони и редове

Export-Csv очаква входът да бъде обекти. Въвеждането на низове се счита за низови обекти, които имат само едно свойство (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"

Имената на свойствата (a , b , c ) се превръщат в CSV заглавките, стойностите на свойствата (foo , bar , baz ) стават CSV стойности.

Ако вашата SQL заявка генерира списък с масиви, вероятно ще трябва да направите нещо подобно:

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

Все пак нямам под ръка SQL сървър, така че приемайте със зърно сол.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Сложен вид поле низ - число - низ

  2. Начини за мигриране на база данни на SQL Server към Azure SQL база данни

  3. Как да преглеждате множество заявки и резултати една до друга в SQL Server Management Studio (SSMS) - SQL Server / TSQL урок, част 14

  4. Изпълнете съхранена процедура в динамична временна таблица

  5. Връщане на списък със сървърни тригерни събития в SQL Server