【问题标题】:Challenge to change source date formats to desired date formats将源日期格式更改为所需日期格式的挑战
【发布时间】:2021-03-09 22:10:42
【问题描述】:

请帮助我解决这个挑战:

我在我的数据流上使用 Zappsys Json Source 并尝试将日期传输到 OLEDB 目标。

Google 电子表格来源:ActualClosingDate : 7/29/16 as m/dd/yy 格式

我想将其转换为 OLEDB 目标

2016-07-29 15:00:00:000 格式使用派生列表达式。

谢谢

【问题讨论】:

  • 到目前为止你尝试过什么?你有什么问题?目标列是什么数据类型?

标签: sql sql-server datetime ssis etl


【解决方案1】:

获取驱动列组件并按预期转换日期,如下例所示:

(DT_STR,4,1252)DATEPART("yyyy",GETDATE()) + RIGHT("0" + "-" + (DT_STR,2,1252)DATEPART("mm",GETDATE()),2) + "-" + RIGHT("0" + (DT_STR,2,1252)DATEPART("dd",GETDATE()),2) + "-" + "  " + (DT_STR,2,1252)DATEPART("hour", GETDATE()) + ":" + (DT_STR,2,1252)DATEPART("minute", GETDATE())+ ":" + (DT_STR,2,1252)DATEPART("second", GETDATE()) + ":" + (DT_STR,2,1252)DATEPART("millisecond", GETDATE())

【讨论】:

    【解决方案2】:

    要将此值转换为 DateTime 值,您只需在派生列中使用强制转换运算符,如下所示:

    (DT_DBTIMESTAMP)[ActualClosingDate]
    

    如果您希望将此列存储为具有特定格式的字符串(因为 DateTime 列没有格式),只需将其重新转换为字符串,它将自动进行 ISO 格式化:

    (DT_WSTR,50)(DT_DBTIMESTAMP)[ActualClosingDate]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-04
      • 2023-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多