我有一个列PhoneNumber varchar(50)
,我想根据下面的内容为派生列PhoneNumberType varchar(50)
构建一个表达式。
IF PhoneNumber <> NULL then
Set to ""Office""
Else
Set to NULL
END IF
我试过了
!ISNULL(PhoneNumber ) ? "Office" : PhoneNumber
但是我在将列映射为
列PhoneNumberType无法在unicode和非unicode字符串数据类型之间进行转换
更新:我是否可以转到派生列组件的高级编辑器,在列属性中选择string [DT_STR]
而不是自动生成的unicode string [DT_WSTR]
数据类型?
这是一个好的实践吗?
发布于 2018-06-05 18:19:03
好吧,下面是我想出来的答案,ISNULL()没有按照我的要求工作
PhoneNumber=="" || LEN(TRIM(PhoneNumber)) == 0 ? (DT_STR, 4, 1252)NULL(DT_STR, 4, 1252) : (DT_STR,50,1252)"Office"
发布于 2018-06-04 04:39:36
您可以使用以下表达式生成DT_STR
列,它还会检查空字符串:
ISNULL([PhoneNumber]) || TRIM(PhoneNumber) == "" ? NULL(DT_STR, 50, 1252) : (DT_STR,50,1252)"Office"
https://stackoverflow.com/questions/50638577
复制相似问题