在 SSIS 包中,我有派生列,我想在其中格式化电话,如下所示:
CASE
WHEN TRY_CONVERT(BIGINT, phone) IS NULL THEN
NULL
ELSE
phone
END
如何使用 SSIS 表达式实现与上述相同的结果?
在 SSIS 包中,我有派生列,我想在其中格式化电话,如下所示:
CASE
WHEN TRY_CONVERT(BIGINT, phone) IS NULL THEN
NULL
ELSE
phone
END
如何使用 SSIS 表达式实现与上述相同的结果?
您必须使用以下表达式:
(DT_I8)[Phone] == (DT_I8)[Phone] ? [Phone] : NULL(DT_WSTR,50)
请注意,您必须替换(DT_WSTR,50)
为 column 的数据类型[Phone]
。 点击这里查看更多信息
并在派生列错误输出中将 on error 选项更改为Ignore Failure
您还可以使用脚本组件来实现此目的:
使用类似的代码
if(!Row.Phone_IsNull && !String.IsNullOrEmpty(Row.Phone) && Int64.TryParse(Row.Phone, out long number)){
Row.OutPhone = Row.Phone;
}else{
Row.OutPhone_IsNull = true;
}