比较运算符 (Transact-SQL)

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Microsoft Fabric 中的 SQL 数据库

比较运算符测试两个表达式是否相同。 除 text、ntext 或 image 数据类型的表达式外,比较运算符可以用于所有其他表达式。 下表列出了 Transact-SQL 比较运算符。

Operator Meaning
=(相等) 等于
>(大于) 大于
<(小于) 小于
>=(大于或等于) 大于等于
<=(小于或等于) 小于或等于
<>(不等于) 不等于
!=(不等于) 不等于(非 ISO 标准)
!<(不小于) 不小于(非 ISO 标准)
!>(不大于) 不大于(非 ISO 标准)

布尔数据类型

具有 Boolean 数据类型的比较运算符的结果。 它有三个值:TRUE、FALSE 和 UNKNOWN。 返回 Boolean 数据类型的表达式称为布尔表达式

与其他 SQL Server 数据类型不同,Boolean 数据类型不能被指定为表列或变量的数据类型,也不能在结果集中返回

当 SET ANSI_NULLS 是 ON时,拥有一两个 NULL 表达式的操作符返回 UNKNOWN。 当 SETSET ANSI_NULLS 是 OFF 时,规则相同,唯独 (=) 和 非 (<>) 算符除外。 当 关闭时 SET ANSI_NULLS ,这些算符将 NULL 视为已知值,等价于任何其他 NULL,只返回 TRUE 或 FALSE(绝不返回未知)。

在 WHERE 子句中使用数据类型为 Boolean 的表达式,可以筛选出符合搜索条件的行,也可以在控制流语言语句(例如 IF 和 WHILE)中使用这种表达式。例如:

-- Uses AdventureWorks  
  
DECLARE @MyProduct INT;  
SET @MyProduct = 750;  
IF (@MyProduct <> 0)  
   SELECT ProductID, Name, ProductNumber  
   FROM Production.Product  
   WHERE ProductID = @MyProduct;  

另请参阅

表达式(Transact-SQL)
运算符 (Transact-SQL)