在SSIS中将GETDATE()转换为字符串

时间:2018-03-13 17:59:00

标签: ssis

全部,

我正在尝试将简单的getdate()转换为字符串。当我将表达式写为(DT_STR,29,1252)GETDATE()时,它给出了错误

“表达式(DT_STR,29,1252)GETDATE()的结果类型为DT_STR,无法转换为支持的类型。”

这有什么问题。我似乎不明白我在这里做错了什么。

修改

下面是我试图评估的表达式的截图。

enter image description here 谢谢, RV

3 个答案:

答案 0 :(得分:0)

只需从转化功能中删除,1252

答案 1 :(得分:0)

检查您要将此表达式分配到的位置。如果它是变量,请确保变量与您正在投射的变量具有完全相同的类型(在这种情况下为STR,而不是unicode - WSTRdatedatetime )。确保您的变量类型是此案例的字符串。还要记住,变量字符串存储为unicode,如果我没记错,你就无法更改它,因此需要转换为WSTR。

还尝试对(DT_STR,29,1252) "myStringValue"之类的值进行硬编码,看看它是否仍会引发错误。问题不在于表达式,表达式结果与您尝试存储它的位置之间的类型不匹配。

答案 2 :(得分:0)

SSIS类型字符串的变量只提供String数据类型 - 没有AnsiString。 AnsiString允许您指定代码页,而String是unicode,不支持代码页。

因此,表达式应为

(DT_WSTR,29) GETDATE()

enter image description here