【问题标题】:Equivalent SSIS expression等效的 SSIS 表达式
【发布时间】:2016-10-14 15:06:16
【问题描述】:

我无法将以下 SQL 转换为相应的 SSIS 表达式 并将其转换为 DATE 格式

 SUBSTRING(A.FILENAME,13,2)+'-'+SUBSTRING(A.FILENAME,15,2)+'-'+SUBSTRING(A.FILENAME,17,4)

这是我能得到的最好的了

DT_DATE(SUBSTRING(@[User::V_LoadFileName],13,2)+'-'+SUBSTRING(@[User::V_LoadFileName],15,2)+''+SUBSTRING(@[User::V_LoadFileName],17,4))

有什么建议吗?

【问题讨论】:

    标签: sql-server ssis ss


    【解决方案1】:

    要在 SSIS 中转换为日期的字符串必须是 YYYY-MM-DD
    如果要将字符串转换为日期时间,则应为 YYYY-MM-DD HH:MIS:SS

    【讨论】:

      【解决方案2】:

      Ferdipux 回答中格式化数据的原因是您的环境可能没有使用相同样式的 DATE(即 YYYY/MM/DD 与 YYYY/DD/MM)。

      另外,您的示例存在语法问题。在 SSIS 中选角有点奇怪。在变量之前关闭括号。

      (DT_BOOL)"0" 返回FALSE

      还要注意在 SSIS 中使用两个引用。因此,您可能需要在脚本中使用 '"' 才能工作。

      SSIS 中的一些强制转换示例:

      ( «type» ) «expression» (DT_I4) (DT_STR, «length», «codepage» ) (DT_DATE) (DT_BOOL) (DT_WSTR, «length» ) (DT_NUMERIC, «precision», «scale» ) (DT_DECIMAL, «scale» ) (DT_DBTIMESTAMP)

      最后,如果可以,请使用 Expression Tester。让我在设计自己的 SSIS 包时变得非常轻松。 :D

      http://expressioneditor.codeplex.com/

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-23
        • 1970-01-01
        • 1970-01-01
        • 2020-02-01
        相关资源
        最近更新 更多