gpt4 book ai didi

sql - 我只需要 Total return NULL 如果所有值都是 NULL

转载 作者:行者123 更新时间:2023-12-05 08:32:08 25 4
gpt4 key购买 nike

像这样的查询

      SELECT A,B,C,D, (A+B+C+D) as TOTAL
FROM TABLES

如果 A、B、C 和 D 为 NULL。我需要返回 NULL。但是如果其中任何一个不为NULL。其他将从 NULL 变为零。和总计(a+b+c+d)。

现在试试这个方法

      SELECT A,B,.. CASE WHEN (A IS NULL) AND (B IS NULL) AND ... THEN NULL
ELSE ISNULL(A,0) + ISNULL(B,NULL) +... END

但是它太长了,我在整个查询中有很多总数。解决这个问题的最佳方法是什么?

最佳答案

您想要的语义与 SUM 提供的语义相同。

SELECT A,B,C,D,
(SELECT SUM(val)
FROM (VALUES(A),
(B),
(C),
(D)) T (val)) AS Total
FROM YourTable

关于sql - 我只需要 Total return NULL 如果所有值都是 NULL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53236166/

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