我想从表中获取“Address”列不为空的所有数据 所以我做了一个看起来像这样的声明......
从表中选择*,其中地址不为空
不幸的是,“Address”列中有些行有空格,因此SQL不能将其视为Null
如何显示Address不为空的行? 谢谢:))
答案 0 :(得分:2)
大多数数据库系统都有NULLIF()函数。如果不是更早的话,它与ANSI SQL-99 standard中的COALESCE()一起定义。它至少在SQL Server,Oracle,PostgreSQL,MySQL,SQLite,DB2,Firebird中实现。
Select * from Table where NULLIF(Address,'') is not null
但对我来说,我更喜欢这个
Select * from Table where Address > ''
它一次性杀死空值和空字符串。它甚至会排除完全由空格组成的字符串('',''等)。它还保留了SARGability。