gpt4 book ai didi

sql - 带有 NULL 或 IS NULL 的 IN 子句

转载 作者:行者123 更新时间:2023-11-29 11:05:23 24 4
gpt4 key购买 nike

Postgres 是数据库

我可以为 IN 子句使用 NULL 值吗?示例:

SELECT *
FROM tbl_name
WHERE id_field IN ('value1', 'value2', 'value3', NULL)

我想限制为这四个值。

我已经尝试了上面的语句但它不起作用,它执行了但没有添加带有 NULL id_fields 的记录。

我也曾尝试添加一个 OR 条件,但这只会让查询不断运行,看不到尽头。

SELECT *
FROM tbl_name
WHERE other_condition = bar
AND another_condition = foo
AND id_field IN ('value1', 'value2', 'value3')
OR id_field IS NULL

有什么建议吗?

最佳答案

An in statement will be parsed identically to field=val1 or field=val2 or field=val3. Putting a null in there will boil down to field=null which won't work.

( Comment 来自 Marc B )

为了清晰起见,我会这样做

SELECT *
FROM tbl_name
WHERE
(id_field IN ('value1', 'value2', 'value3') OR id_field IS NULL)

关于sql - 带有 NULL 或 IS NULL 的 IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6362112/

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