如何在SQL中过滤掉包含空数据或空数据的特定列的行?

Nak*_*ary 6 sql

在SQL中,我们如何检查过滤包含列数据的所有行是null还是空?
为了检验

Select Name,Age from MEMBERS
Run Code Online (Sandbox Code Playgroud)

我们需要一个检查名称不应该等于null或空.

Vin*_*vic 12

这将适用于所有理智的数据库(wink,wink),并将返回名称不为null或为空的行

select name,age from members where name is not null and name <> ''
Run Code Online (Sandbox Code Playgroud)


Ton*_*ews 5

对于将 '' 视为值(非空)的 DBMS,Vinko 的查询有效:

select name,age from members where name is not null and name <> ''
Run Code Online (Sandbox Code Playgroud)

对于 Oracle,它将 '' 视为 null,上面的方法不起作用,但下面的方法可以:

select name,age from members where name is not null
Run Code Online (Sandbox Code Playgroud)

我试图考虑一个“与 DBMS 无关”的解决方案,但失败了 - 主要是由于不同的 DBMS 使用不同的串联运算符/函数!