gpt4 book ai didi

SQL Server 选择没有结果的变量

转载 作者:行者123 更新时间:2023-12-03 16:14:07 26 4
gpt4 key购买 nike

如果查询没有返回结果,我可以设置变量吗?

DECLARE @Output AS VARCHAR(MAX);

SELECT @Output = 'Old';
SELECT @Output = 'New' WHERE 0 = 1;

PRINT @Output;

输出值为:

预期值为:

最佳答案

DECLARE @Output AS VARCHAR(MAX);
SELECT @Output = 'Old';
SELECT @Output = 'New' WHERE 0 = 1;
PRINT @Output;

你得到 'Old'因为变量已经有这个值,并且它不会更新该值,因为在 WHERE 中条款您使用条件 0=1 ,这将返回 FALSE并且变量中的值不会改变。
WHERE 0 = 1这将是假的
WHERE 0 <> 1这将是真的

它只是类似于 IF 0=1 THEN UpdateMyVar
所以在你的情况下,值总是 'Old' ,它不会返回 'New'NULL任何一个。

我不知道你到底想做什么,但如果你想返回 NULL然后
DECLARE @Output AS VARCHAR(MAX);
SELECT @Output = 'Old';
SELECT @Output = NULL WHERE 0 <> 1; --If 0<> 1 then update my var and set NULL else leave it as it is
PRINT @Output;

关于SQL Server 选择没有结果的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53379314/

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