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"
我有一个列 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"