gpt4 book ai didi

sql-server - 如何在 SSIS 中实现 TRY_CONVERT 功能?

转载 作者:行者123 更新时间:2023-12-02 00:54:29 24 4
gpt4 key购买 nike

在 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)数据类型为 [Phone] . Click here for more information

并在派生列错误输出中将 on error 选项更改为 Ignore Failure
enter image description here

脚本组件

您还可以使用脚本组件实现此目的:
  • 为数据流任务添加脚本组件
  • 选择[电话]作为输入栏
  • 创建一个新的 [Phone] 示例 [outPhone] 相同类型的输出列
  • 使用类似的代码
    if(!Row.Phone_IsNull && !String.IsNullOrEmpty(Row.Phone) && Int64.TryParse(Row.Phone, out long number)){

    Row.OutPhone = Row.Phone;

    }else{

    Row.OutPhone_IsNull = true;

    }
  • 关于sql-server - 如何在 SSIS 中实现 TRY_CONVERT 功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55482719/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com