gpt4 book ai didi

sql - 如何在带有 IS NULL 的 WHERE 子句中使用 CASE 语句?

转载 作者:行者123 更新时间:2023-12-04 14:09:05 24 4
gpt4 key购买 nike

这是我的查询,它们不起作用,但我想做这样的事情:

SELECT a_field FROM a_table
WHERE
...
AND
CASE
WHEN a_value_from_another_query IS NULL THEN a_second_field IS NULL
ELSE a_second_field = a_value_from_another_query
END

或者
SELECT a_field FROM a_table
WHERE
...
AND
CASE a_value_from_another_query
WHEN NULL THEN a_second_field IS NULL
ELSE a_second_field = a_value_from_another_query
END

或者
SELECT a_field FROM a_table
WHERE
...
AND
CASE NVL(a_value_from_another_query, 'x')
WHEN 'x' THEN a_second_field IS NULL
ELSE a_second_field = a_value_from_another_query
END

a_value_from_another_query IS NULL ,我要加 a_second_field IS NULL到我的 WHERE 子句,当 a_value_from_another_query IS NOT NULL ,我要加 a_second_field = a_value_from_another_query到我的 WHERE 子句。我怎样才能做到这一点?

最佳答案

听起来您只是从工具箱中选择了错误的工具。

除非我严重误解了您,否则以下内容:

WHERE
(a_value_from_another_query IS NULL AND a_second_field IS NULL)
OR
(a_value_from_another_query IS NOT NULL AND a_second_field = a_value_from_another_query)

...应该是你想要的。

关于sql - 如何在带有 IS NULL 的 WHERE 子句中使用 CASE 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6867917/

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