如何在ssis表达式语言中进行格式表达

时间:2013-10-25 13:46:22

标签: sql-server ssis sqldatatypes dts

在sql中我们有像

这样的数据类型格式
CONVERT(VARCHAR(5), CONVERT(DATETIME, [ReferralDate], 0), 108)

有没有办法使用ssis表达式语言实现相同的目标?

是的,我们可以使用类似于

的表达式转换为字符串或任何其他所需的数据类型
(DT_STR, 10,1252)dob

但我的问题是如何通过传递数字值来获得所需的格式,例如 108(如上面的sql中所述)或123/106等

1 个答案:

答案 0 :(得分:3)

表达式格式的表达式语言中没有模拟。您需要使用脚本任务或组件来应用格式。 Custom Date and Time Format Strings

那就是说,您的第一个示例似乎是从hh:mm格式的日期中提取小时和分钟,而我假设另一个将使用您的语言环境指定的字符串转换日期。

停止在数据类型中存储日期和时间!

日期,日期时间,时间等数据类型将值存储在本地不可知机制中。这意味着您不必担心字符串值“01-02-05”是否为“2005年2月1日” - > en-GB,“2005年1月2日” - > en-US或“2001年2月5日” - > JA-JP。相反,这些 presentation 概念在您的数据库中没有业务。