我正在使用以下POWERSHELL脚本将SQL表的内容导出到.csv。它运行良好,不幸的是它失败了,因为有问题的桌面现在已经添加了一些NULLS。使用POWERSHELL从SQL导出,其中输出包含NULLS
有没有办法修改这个以允许它通过NULLS,还是最好修改底层表。
$server = "sqlmtest"
$database = "mi_lookups"
$query = "SELECT * FROM [dbo].[SQLMtest-BIS-BUS-BPS_system_agent_lookup]"
$extractFile = @"
G:\system_Lookup_Tables\system_agent_lookup.csv
"@
$connectionTemplate = "Data Source={0};Integrated Security=SSPI;Initial Catalog={1};"
$connectionString = [string]::Format($connectionTemplate, $server, $database)
$connection = New-Object System.Data.SqlClient.SqlConnection
$connection.ConnectionString = $connectionString
$command = New-Object System.Data.SqlClient.SqlCommand
$command.CommandText = $query
$command.Connection = $connection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $command
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$connection.Close()
$DataSet.Tables[0] | Export-Csv $extractFile
谢谢。
根本不需要修改表本身。修改您的'select'语句,使NULL不会返回,或者您的'Export-Csv'管道使NULL不会导致问题 – paul 2015-03-02 11:07:04
只是一种解决方法,但是不能通过给列名称并使用ISNULL来扩展查询根据数据类型,[column1],'')还是ISNULL([column1],0)? – Rubik 2015-03-02 11:08:49
不幸的是,该表包含NULLS存在的行,但我仍然需要导出它们。 @paul - 关于如何编辑Export-csv来处理NULLS的任何建议? – chris1982 2015-03-02 11:45:06