作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
是否可以在不使用 or 的情况下在 MySQL 中对空字符串和 NULL 值进行选择?
这个:
select * from table where col IN (null, "");
不起作用,它会忽略 null(或可能将其与字符串 'null' 匹配)。
最佳答案
SELECT *
FROM mytable
WHERE COALESCE(col, '') = ''
但是,请注意,如果列被索引,则比 OR
查询效率更高:
SELECT *
FROM mytable
WHERE col = '' OR col IS NULL
这将使用索引上的 ref_or_null
访问路径。
如果您需要从值列表中选择 NULLs
,只需将所有非空值放入列表中并添加单个 OR IS NULL
条件:
SELECT *
FROM mytable
WHERE col IN ('val1', 'val2', 'val3') OR col IS NULL
这也将使用 col
上的索引。
关于MySQL: select * from table where col IN (null, "") 可能没有 OR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2147824/
我是一名优秀的程序员,十分优秀!