0

sqlcmdを呼び出してコマンドを実行し、データをcsvとしてエクスポートするバッチファイルがあります。たとえば、セルで表示すると、追跡された日付が表示されます35:30.0が、それをクリックすると、数式バーにが表示されます1/1/1900 2:45:00 PM。セルに表示するには完全なタイムスタンプが必要です。何か案は?

バッチファイルは次のとおりです

sqlcmd -S server -U username -P password -d database -i "D:\path\sqlScript.sql"  -s "," > D:\path\report.csv -I -W -k 1

スクリプトは次のとおりです。現在、それらをvarcharとしてキャストしていますが、それは単に少し変更しようとしたためです。Varcharも機能しません。

SET NOCOUNT ON;

select top(10)BO.Status,
cast(tradeDate AS varchar) AS Trade_Date,
CAST(closingTime AS varchar) AS Closing_Time,
CAST(openingTime AS varchar) AS openingTime

テーブルのすべてのソートの巨大な複雑な結合から

4

3 に答える 3

1

日付文字列の前後にフィールド区切り文字としてExcelで認識されない文字を追加できます(コロンを使用しました)。ファイルを開いたりExcelにインポートしたりしても、文字列は保持されます。

または、そのままインポートを実行し、Excelで日付セルのカスタム形式を設定することもできます。「m / d / yyyyhh:mm:ssA/P」で処理できます。

于 2012-12-12T02:44:19.373 に答える
0

これはExcelのフォーマットの問題ではありませんか?SQLが何を返しているかを正確に確認する方法はありますか?また、日付列のセルの書式設定について、インポートウィザードダイアログで何を選択しましたか?(ExcelでCSVを直接開く場合は、代わりに「テキストデータ」インポートを使用してみてください)

于 2012-12-11T23:35:38.710 に答える
0

多分csv2odfは動作するでしょう。csvファイルの日付の形式を指定できる-dオプションがあります。また、テンプレート(xlsx)を使用し、Excelでの日付の表示方法をフォーマットできます。

于 2012-12-12T02:17:06.733 に答える