0

所以我有一种情况,(通过 SSIS)我基本上对我的数据库运行 SELECT,然后将结果导出到 .txt 平面文件。

SSIS流程如下:OLEDB SOURCE (my select query) -> DATA CONVERSION (change all values to DT_WSTR) -> FLAT FILE DESTINATION

但是,有人告诉我,我需要将导出的所有日期时间列值的格式从yyyy-mm-dd hh:nn:ss(数据库中的格式)更改为mm/dd/yyyy hh:nn:ss AM/PM

从我对这个主题的搜索中,我相信我的 DATA CONVERSION 和 FLAT FILE DESTINATION 之间的脚本组件是我在 SSIS 中所需要的……但我没有任何 VB.NET 或 C# 技能。尽管进行了搜索,但我还没有真正理解如何对这种日期格式转换进行编码。

帮助?

4

1 回答 1

2

您可以在 SELECT 语句中进行转换。

这将使您接近:

SELECT CONVERT(VARCHAR(20),GetDate(),101) + ' ' 
+ LTRIM(RIGHT(CONVERT(VARCHAR(26),GetDate(),9),14))

只需将 GetDate() 替换为您的日期字段。如果你需要它而不需要纳秒,它会更长一点:

SELECT CONVERT(VARCHAR(20),GetDate(),101) + ' ' 
+ LTRIM(LEFT(RIGHT(CONVERT(VARCHAR(26),GetDate(),9),14),8)) + ' ' 
+ RIGHT(CONVERT(VARCHAR(26),GetDate(),9),2)
于 2012-09-13T23:36:49.900 回答