gpt4 book ai didi

sql - 使用 case 语句有条件地设置变量

转载 作者:行者123 更新时间:2023-12-03 02:46:41 25 4
gpt4 key购买 nike

我有以下查询。我试图仅添加值,如果值不为空,则整个变量不会最终为空。显然,下面的这个查询出错了,但我不想在测试列上使用 ISNULL 检查,因为它在变量文本的末尾放置了一个逗号。如果变量文本末尾没有逗号,我该如何做到这一点。测试列有时会有空值,有时不会。

DECLARE @Test TABLE
(
test varchar(20)
)

INSERT INTO @Test
SELECT 'adfasdfasd'
UNION ALL
SELECT NULL


DECLARE @DocID varchar(max)

SELECT CASE WHEN test IS NOT NULL THEN @DocID = COALESCE(@DocID + ',' ,'') + test END
FROM @Test

SELECT @DocID

最佳答案

以下任一方法都应该有效

SELECT @DocID = COALESCE(@DocID + ',', '') + test
FROM @Test
WHERE test IS NOT NULL

SELECT @DocID = CASE
WHEN test IS NULL THEN @DocID /*No-op. */
ELSE COALESCE(@DocID + ',', '') + test
END
FROM @Test

关于sql - 使用 case 语句有条件地设置变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13203108/

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