gpt4 book ai didi

oracle - 使用 oracle decode 解码两个值

转载 作者:行者123 更新时间:2023-12-01 09:28:46 26 4
gpt4 key购买 nike

select status_a,status_b from test 

如何解码 status_a , status_b如果 status_a 或 status_b 的值之一为空,则使用 oracle 解码函数 a 低于值。
if  status_a='Y' and status_b='Y' then 'Y'

if status_a='Y' and status_b='N' then 'N'

if status_a='N' and status_b='Y' then 'N'

if status_a='N' and status_b='N' then 'N'

问候,

柴图哈拉

最佳答案

为什么要使用DECODE ? CASE看起来更合适

CASE WHEN status_a = 'Y' and status_b = 'Y' THEN 'Y'
WHEN status_a = 'Y' and status_b = 'N' THEN 'N'
WHEN status_a = 'N' and status_b = 'Y' THEN 'N'
WHEN status_a = 'N' and status_b = 'N' THEN 'N'
END

当然,您发布的逻辑似乎没有意义。唯一的办法就是 status_a = 'Y' or status_b = 'Y'将评估为 FALSE 而 status_a = 'Y' or status_b = 'N'如果 status_a = 'N',则评估为 TRUE和 status_b = 'N' .但这意味着永远不会到达第三和第四分支。如果您的意思是 and而不是 or ,这个逻辑是有道理的。但在这种情况下,您可以将其简化为
CASE WHEN status_a = 'Y' and status_b = 'Y' THEN 'Y'
ELSE 'N'
END

关于oracle - 使用 oracle decode 解码两个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18646317/

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