gpt4 book ai didi

ssis - 如何在 SSIS 表达式中用零替换 NULL?

转载 作者:行者123 更新时间:2023-12-04 22:05:58 26 4
gpt4 key购买 nike

我有两列 ActivityCountParentValue 。我创建了一个表达式:

ROUND((ActivityCount / ParentValue) / 100,16) * 100 

但问题是它为某些列返回 NULL ,我想用 NULL 替换 0 。我似乎无法找到答案。

最佳答案

表达:

ISNULL(ParentValue) || (ParentValue == 0) ? 0 : ROUND(ISNULL(ActivityCount) ? 0 : ActivityCount / ParentValue / 100,16) * 100

为了可读性:
ISNULL(ParentValue) || (ParentValue == 0) 
? 0
: ROUND((ISNULL(ActivityCount)
? 0
: ActivityCount / ParentValue) / 100
, 16) * 100

它能做什么:
  • 如果 ParentValue 字段为 NULL 或有 Zero ,则不必执行计算,因为会遇到 Divide by Zero 错误。因此,只需通过返回 0 来退出表达式。
  • 如果 ActivityCount 字段为 NULL ,则在执行计算之前将其替换为零。

  • 推荐:

    如果可能,我建议在源查询上使用 COALESCE 用零和计算替换 NULL 值。

    关于ssis - 如何在 SSIS 表达式中用零替换 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15005118/

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