0

我有一个执行 sql 查询的 powershell 脚本,然后将信息导出到 CSV 文件。但是 CSV 文件将所有 DateTimes 条目重新格式化为mm/d/yyyy hh:mm:ss. 我需要条目的格式yyyy-mm-dd-hh.mm.ss.00

$SqlCmd.CommandText = $sqlSelectCVS
$SqlCmd.Connection = $SqlConnection
$SqlAdapter.SelectCommand = $SqlCmd
$SqlAdapter.Fill($export)

#Close the SQL connection
$SqlConnection.Close()

#Creates the New file with out Column header inforamtion
$export.tables[0] |export-csv -Path ($ExportTo + '\' + $ExportName) -notypeinformation 
(Get-Content ($ExportTo + '\' + $ExportName)| Select-Object -Skip 1) | Set-Content      ($ExportTo + '\' + $ExportName)

数据库连接和查询工作得很好。另外作为旁注,我尝试在记事本中打开它,但没有运气,日期是未来的日期。我对 powershell 还是很陌生,所以如果你能解释任何建议以便我理解它,我将不胜感激。

谢谢

4

1 回答 1

1

您可以在 PowerShell 中使用 .NET 库来格式化字符串,如下所示:

"{0:yyyy-mm-dd-hh.hh.mm.ss.00}" -f [datetime]$stringOrWhateverDateVariable

$stringOrWhateverDateVariable 将是 SQL 表中的日期变量。

我无法在 SQL 数据库上进行测试,但它适用于您的 DateTime 格式的字符串。

于 2013-09-17T18:54:34.890 回答