将CSV中的每一行分开

时间:2018-01-16 01:29:46

标签: sql-server powershell

我目前有一个代码,可以将整个数据库存储在CSV中。但我希望每一行都保留一个CSV。 是否可以在PowerShell中执行此操作? 这是我目前的代码:

$QUERY = "SELECT ID_ORDEN_COMPRA, COMPROBANTE_TRANSACCION FROM ORDEN_COMPRA WHERE  COMPROBANTE_TRANSACCION IS NOT NULL AND FECHA_PAGO_ORDEN_COMPRA <= '20180131 00:00:00'";    
Write-Output $QUERY;
#Invoke-Sqlcmd -AbortOnError  -EncryptConnection -ConnectionTimeout $TIMEOUT -Database 'dbprod_itswebpay' -ServerInstance $SQL_SERVER_FULLNAME_QA -Username "jobaccount" -Password "Jbct1947._" -Query $QUERY;
$DB_LIST = Invoke-Sqlcmd -AbortOnError -EncryptConnection -ConnectionTimeout $TIMEOUT -Database 'dbprod_itswebpay' -ServerInstance $SQL_SERVER_FULLNAME_SOURCE -Username $SQL_ACCOUNT_NAME_SOURCE -Password $SQL_ACCOUNT_PASSWORD_SOURCE -Query $QUERY |
           Export-Csv -Path C:\test\test.csv -NoTypeInformation;

1 个答案:

答案 0 :(得分:0)

使用ForEach-Object循环分别导出每一行:

$i = 1
Invoke-Sqlcmd ... | ForEach-Object {
    $_ | Export-Csv "C:\test\${i}.csv" -NoType
    $i++
}