📜  SQL Server IS不是空运算符(1)

📅  最后修改于: 2023-12-03 15:20:14.844000             🧑  作者: Mango

SQL Server IS NOT NULL运算符

在SQL Server中,IS NOT NULL是一个用于测试表中列值是否为NULL的运算符。它返回一个布尔值,表示列值是否为NULL。

语法

以下是IS NOT NULL运算符的基本语法:

SELECT column_name(s)
FROM table_name
WHERE column_name IS NOT NULL;

在上面的语法中,column_name是列的名称,table_name是表名称。WHERE子句用于过滤哪些列要查询,IS NOT NULL则是用于排除空值。

示例

假设我们有以下客户表:

| CustomerID | CustomerName | ContactName | Country | | ---------- | ------------- | ------------ | ----------- | | 1 | Alfreds | Maria | Germany | | 2 | Ana Trujillo | Ana | Mexico | | 3 | Antonio Moreno| Antonio | Mexico | | 4 | Thomas Hardy | Thomas | UK | | 5 | Christina Berg| Christina | Sweden |

我们可以使用以下查询来找到所有Country列不为空的客户记录:

SELECT *
FROM Customers
WHERE Country IS NOT NULL;

上面的查询将返回以下结果:

| CustomerID | CustomerName | ContactName | Country | | ---------- | ------------- | ------------ | ----------- | | 1 | Alfreds | Maria | Germany | | 2 | Ana Trujillo | Ana | Mexico | | 3 | Antonio Moreno| Antonio | Mexico | | 4 | Thomas Hardy | Thomas | UK | | 5 | Christina Berg| Christina | Sweden |

注意事项
  • 当使用IS NOT NULL时,如果某个列值为NULL,它将不会被包含在结果中。
  • 在涉及NULL值比较时,应该使用IS NULL或IS NOT NULL运算符,而不是等于(=)或不等于(<>)运算符。因为使用等于或不等于运算符需要将NULL值视为有效值,这将导致不符合预期的结果。

使用IS NOT NULL运算符是一种非常有用的过滤技巧,它可以在查询中排除NULL值,从而使结果更加准确和有用。