我有一个 PowerShell 脚本,可以一次导出多个表。该脚本运行良好,但我无法更改日期的日期格式。
一些字段涉及 SQL 中定义的日期,当我尝试将这些字段导出到 .CSV 时,使用日期时间格式,但我需要将其保留为日期格式。
日期字段的导出格式为yyyy-MM-dd HH:mm:ss,但所需的导出格式是年-月-日。
是否可以调整脚本以便正确显示这些日期?以下是使用的脚本:
#To configure
$SQLServer = "<Server>"
$GUID = "<Project>"
$delimiter = ","
$Folder = "<Folder>"
$CY = $Folder + "\CY.csv"
$SQLDBName = "<database>"
#SQL CY
"CY downloading, line count below"
$SqlQuery = "SELECT * FROM <database>"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = SSPI;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
#Creating Dataset
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)
$DataSet.Tables[0] | export-csv -Delimiter $delimiter -Path $CY -NoTypeInformation
我已经尝试过更改声明Select * From
以包含CAST() or Convert()
日期,但这并没有给出任何不同的结果。
我对最后一项感到困惑,如果有人能帮助我就太好了。提前谢谢了。
答案1
我通过调整 SQL 查询解决了这个问题。我不知道为什么这最初不起作用,但在将查询中的日期字段更改为以下内容后,它起作用了。
Convert(varchar,[DATEFIELD],23) as 'DATEFIELD'
该主题可以关闭了。