是不是在某种程度上可以在Mysql中选择空字符串和NULL值而不使用或?
这个:
   select * from table where col IN (null, "");
不起作用,它忽略null(或者可能与字符串'null'匹配)
谢谢,PV Goddijn
Qua*_*noi 35
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.
| 归档时间: | 
 | 
| 查看次数: | 20815 次 | 
| 最近记录: |