SSIS 中的 ISNULL 函数

ISNULL function in SSIS

我有一个列 PhoneNumber varchar(50),我想根据以下

为派生列 PhoneNumberType varchar(50) 构建一个表达式
IF PhoneNumber <> NULL then
Set to ""Office""
Else
Set to NULL
END IF

我试过

!ISNULL(PhoneNumber ) ? "Office" : PhoneNumber 

但是我在将列映射为

时遇到错误

Column PhoneNumberType can not convert between unicode and non-unicode string data types

更新:我可以只转到派生列组件的高级编辑器和 select string [DT_STR] 而不是自动生成的 unicode string [DT_WSTR] 列属性中的数据类型吗?

这是一个好习惯吗?

您可以使用以下表达式生成 DT_STR 列,它还会检查空字符串:

ISNULL([PhoneNumber]) || TRIM(PhoneNumber) == "" ? NULL(DT_STR, 50, 1252) : (DT_STR,50,1252)"Office"

嗯, 下面是我想出的答案,ISNULL() 没有按照我的要求工作

PhoneNumber=="" || LEN(TRIM(PhoneNumber)) == 0 ? (DT_STR, 4, 1252)NULL(DT_STR, 4, 1252) : (DT_STR,50,1252)"Office"