【发布时间】:2019-05-17 19:58:48
【问题描述】:
我正在使用以下表达式:
[TIMEPERIOD_ID]==1?"JANUARY":
[TIMEPERIOD_ID]==2?"FEBRUARY":
[TIMEPERIOD_ID]==3?"MARCH":
[TIMEPERIOD_ID]==4?"APRIL":
[TIMEPERIOD_ID]==5?"MAY":
[TIMEPERIOD_ID]==6?"JUNE":
[TIMEPERIOD_ID]==7?"JULY":
[TIMEPERIOD_ID]==8?"AUGUST":
[TIMEPERIOD_ID]==9?"SEPTEMBER":
[TIMEPERIOD_ID]==10?"OCTOBER":
[TIMEPERIOD_ID]==11?"NOVEMBER":
[TIMEPERIOD_ID]==12?"DECEMBER"
它会抛出以下异常:
错误 - 数据类型“DT_WSTR”和“DT_I4”不兼容 二元运算符“==”。操作数类型不能被隐式转换 转换为操作的兼容类型。要执行此操作, 一个或两个操作数需要使用强制转换运算符显式强制转换。
有什么建议吗?
【问题讨论】:
-
错误告诉您
TIMEPERIOD_ID是nvarchar,但您将其与int进行比较。 -
TIMPERIOD_ID 是长度为 50 的 UNICODE 字符串
标签: sql-server ssis expression etl derived-column