gpt4 book ai didi

mysql - 在 Case 语句的 Else 标准中,我可以告诉它我想查看该值是否为 'Y' 或 NULL?

转载 作者:行者123 更新时间:2023-11-29 09:36:09 26 4
gpt4 key购买 nike

我正在尝试对我拥有的某些参数运行多级反馈。我没有得到我想要的 NULL 值。我想知道如何执行多部分 ELSE 语句,其中我可以说 ELSE 发送“N”或 NULL。这是我的代码的简短示例。我知道它可以在没有 OR 部分的情况下工作,但如果没有 OR 我不会得到具有 NULL 的值。我知道它的数据很困惑,而且业务应该始终填充 Y 或 N,但我们都知道情况并非如此。

DECLARE @par1 char(1)
DECLARE @par2 char(1)
DECLARE @par3 char(1)
DECLARE @needs char(1)

SET @needs = 'C'
SET @par1 = CASE @needs WHEN 'C' THEN 'Y' ELSE @par1 = 'N' or @par1 IS NULL END
SET @par2 = CASE @needs WHEN 'S' THEN 'Y' ELSE @par2 = 'N' or @par2 IS NULL END
SET @par1 = CASE @needs WHEN 'L' THEN 'Y' ELSE @par3 = 'N' or @par3 IS NULL END

最佳答案

这段代码应该做你想要的:

SET @par1 = (CASE @needs WHEN 'C' THEN 'Y' ELSE 'N' END)

@needsNULL时,这会将值设置为'N'

如果您还希望返回 NULL 值,则可以使用多部分 CASE:

SET @par1 = (CASE WHEN @needs = 'C' THEN 'Y'
WHEN @needs IS NOT NULL THEN 'N'
END) --`NULL` is the default.

CASE 是一个标量表达式。它返回一个值。虽然您可以在 MySQL 中设置变量,但您的逻辑不需要这样做。

关于mysql - 在 Case 语句的 Else 标准中,我可以告诉它我想查看该值是否为 'Y' 或 NULL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57565638/

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