0

我无法将以下 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))

有什么建议么?

4

2 回答 2

0

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

于 2016-06-14T06:01:03.900 回答
0

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/

于 2016-06-14T07:48:31.270 回答