如何使用带字符串函数的强制转换

时间:2018-03-02 01:20:32

标签: sql-server ssis etl

我正在努力连接周'使用SSIS派生列上的平面文件资源的整数值列。这就是我做的事情

(("week" + " " +  (DT_WSTR, 20) RIGHT( [CalendarWeek] ,2 ))

但我收到错误,请通过此示例说明或如何使用'对'功能与DT_WSTR

1 个答案:

答案 0 :(得分:0)

让我们看看你正在使用的表达式

(("week" + " " + (DT_WSTR, 20) RIGHT( [CalendarWeek] ,2 ))

从左到右阅读:使用文字字符串周,添加一个空格,连接到一个长度为20的unicode字符串,即CalendarWeek最右边的两个字符。

错误在哪里?

CalendarWeek可能是数字字段。 RIGHT对字符串数据类型起作用,因此这是不正确的。在对其执行字符串操作之前,您需要将数据转换为字符串类型。

逻辑上,您的连接有错误。您要求CalendarWeek中的2个字符,然后将其填充为20个字符的宽字符串。

"week" + " " + RIGHT(((DT_WSTR, 20) [CalendarWeek]),2)

假设我已经正确计算了我的括号,我相信你正在寻找的表达式就在上面。