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

Posted

技术标签:

【中文标题】如何在ssis表达式语言中进行格式表达【英文标题】:How to do format expression in ssis expression language 【发布时间】:2013-11-04 16:12:33 【问题描述】:

在 sql 中我们有类似的数据类型格式

CONVERT(VARCHAR(5), CONVERT(DATETIME, [ReferralDate], 0), 108)

有没有什么方法可以使用 ssis 表达式语言来达到同样的效果?

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

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

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

【问题讨论】:

【参考方案1】:

表达式语言中没有用于区域设置格式的类比。您需要使用脚本任务或组件来应用格式。 Custom Date and Time Format Strings

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

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

日期、日期时间、时间等数据类型将值存储在本地不可知的机制中。这意味着您不必担心字符串值“01-02-05”是“Feb 1 2005”-> en-GB、“Jan 2 2005”-> en-US 还是“Feb 5 2001” -> ja-JP。相反,这些是表示概念,在您的数据库中没有任何业务。

【讨论】:

以上是关于如何在ssis表达式语言中进行格式表达的主要内容,如果未能解决你的问题,请参考以下文章

C语言如何定义一个算术表达式

c语言中while的用法

SSIS - 11.For循环容器

如何在 JSP 表达式语言中进行 HTML 编码?

如何在SSIS表达式中编写Case语句

求C语言中循环的具体用法