0

我想从“地址”列不为空的表中获取所有数据,所以我做了一个看起来像这样的声明......

从地址不为空的表中选择 *

不幸的是,“地址”列中有空格,因此 SQL 不能将其视为 Null

如何显示地址不为空的行?谢谢 :)

4

1 回答 1

2

大多数数据库系统都有一个 NULLIF() 函数。如果不是更早的话,它在ANSI SQL-99 标准中与 COALESCE() 一起定义。它至少在 SQL Server、Oracle、PostgreSQL、MySQL、SQLite、DB2、Firebird 中实现。

Select * from Table where NULLIF(Address,'') is not null

但对我来说,我更喜欢这个

Select * from Table where Address > ''

它一口气杀死空值和空字符串。它甚至会排除完全由空格组成的字符串(''、''等)。它还保留了 SARGability。

于 2012-11-16T06:34:03.247 回答