比较运算符 (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例
比较运算符测试两个表达式是否相同。 除 text、ntext 或 image 数据类型的表达式外,比较运算符可以用于所有其他表达式。 下表列出了 Transact-SQL 比较运算符。
运算符 | 含义 |
---|---|
=(等于) | 等于 |
>(大于) | 大于 |
<(小于) | 小于 |
>=(大于或等于) | 大于等于 |
<=(小于或等于) | 小于或等于 |
<>(不等于) | 不等于 |
!=(不等于) | 不等于(非 ISO 标准) |
!<(不小于) | 不小于(非 ISO 标准) |
!>(不大于) | 不大于(非 ISO 标准) |
布尔数据类型
具有 Boolean 数据类型的比较运算符的结果。 它有三个值:TRUE、FALSE 和 UNKNOWN。 返回 Boolean 数据类型的表达式称为布尔表达式。
与其他 SQL Server 数据类型不同,Boolean 数据类型不能被指定为表列或变量的数据类型,也不能在结果集中返回。
当 SET ANSI_NULLS 为 ON 时,带有一个或两个 NULL 表达式的运算符返回 UNKNOWN。 当 SET ANSI_NULLS 为 OFF 时,除了等于 (=) 和不等于 (<>) 运算符外,相同的规则适用。 当 SET ANSI_NULLS 为 OFF 时,这些运算符将 NULL 视为已知值,等效于任何其他 NULL,且只返回 TRUE 或 FALSE(绝不会返回 UNKNOWN)。
在 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;