如何过滤空值



我的SQL查询结果包括空值。如何过滤空值?

语法可能因使用的数据库而异,但可以在where子句中显式排除null。例如,以下内容将排除primary_author字段中的空值:

SELECT
date,
primary_author,
ISBN
FROM
books
WHERE
primary_author IS NOT NULL;

我的例子适用于我所知道的每个数据库,所以它应该适用于您=(

SELECT *
FROM TABLE_NAME
WHERE COLUMN_NAME IS NOT NULL

在这里你可以找到一个简单的解释和一些例子:https://www.w3schools.com/sql/sql_null_values.asp

但有时你想用默认值替换null值,比如"X",在这种情况下,我们应该知道数据库的正确语法,这里有一些例子:

Oracle:

SELECT nvl(column_name,'X')
FROM TABLE_NAME

Sqlite:

SELECT ifnull(column_name,'X')
FROM TABLE_NAME

SqlServer:

SELECT coalesce(column_name,'X')
FROM TABLE_NAME

最新更新