【问题标题】:SSIS - Script Component for Date Formatting - VB.NET/C#SSIS - 用于日期格式化的脚本组件 - VB.NET/C#
【发布时间】:2012-09-13 23:11:42
【问题描述】:

所以我遇到的情况是(通过 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

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

帮助?

【问题讨论】:

    标签: c# sql vb.net ssis


    【解决方案1】:

    您可以在 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)
    

    【讨论】:

    • 我总是对 SQL 没有构建类似于 .net ToString("mm/dd/yyyy hh:MM:ss") 的东西感到失望
    • 欣喜,SQL Server 2012 版提供了对 .NET 字符串格式化程序的访问。
    • 谢谢大家!非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2021-11-21
    • 1970-01-01
    • 2020-02-19
    • 1970-01-01
    • 1970-01-01
    • 2015-05-23
    • 2021-06-09
    • 1970-01-01
    相关资源
    最近更新 更多