SQL NULL 值


SQL NULL值

概念

在SQL语句中,NULL 值是指该字段没有数据。NULL 值不等于0,也不等于空字符串’’,但与空值相等如:’ ‘。在查询时,可以使用 IS NULL 或 IS NOT NULL 操作符来检查 NULL 值。

用途

  1. NULL 值可以提高数据库的灵活性,允许在表中插入空值和未知值,使得数据库可以存储各种类型的数据。
  2. NULL 值可以帮助在处理数据时处理数据的丢失、空数据或未知值。
  3. 在计算机处理时,几乎在任何时候都需要处理未知值,因此,NULL 值是必要的。

查询空值

IS NULL是用于查询是否是 NULL 值的判定条件

SELECT * FROM Orders WHERE OrderDate IS NULL;

查询非空值

IS NOT NULL是用于查询是否为NULL值外其它值的判定条件。

SELECT * FROM Orders WHERE OrderDate IS NOT NULL;

处理 NULL 值

  1. COALESCE(expression1, expression2, expression3, …): COALESCE 函数从一系列参数表达式中返回第一个非 NULL 值。
  2. NULLIF(expression1, expression2): NULLIF 函数比较两个表达式,如果表达式相等,则返回 NULL。
SELECT COALESCE(ColumnName,'空值') AS 列名 FROM TableName;
SELECT NULLIF(ColumnName1, ColumnName2) AS 列名 FROM TableName;

总结

NULL 值是一个非常重要的概念,必须被细心地处理。在数据库中没有NULL值是不可想象的。对于任何一个程序员来说,了解和正确使用SQL的NULL值可以帮助提高程序的稳健性并减少错误,因此,学会利用SQL语法正确地去处理NULL值是非常有必要的。