因此,我遇到的情况是(通过SSIS)基本上对数据库运行SELECT,然后将结果导出到.txt平面文件。
SSIS流如下:OLEDB SOURCE(我选择的查询)->DATA CONVERSION(将所有值更改为DT_WSTR)->FLAT FILE DESTINATION
然而,有人告诉我,我需要将导出的所有日期时间列值的格式从yyyy-mm-dd hh:nn:ss
(数据库中的格式)更改为mm/dd/yyyy hh:nn:ss AM/PM
从我对这个主题的搜索来看,我相信SSIS中需要一个介于数据转换和平面文件目的地之间的脚本组件。。。。但我没有任何VB.NET或C#技能。尽管进行了搜索,但我还没有真正理解如何对这种日期格式转换进行编码。
帮助?
您可以在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)