比較運算子 (Transact-SQL)

比較運算子用來測試兩個運算式是否相同。除了 text、ntext 或 image 資料類型的運算式,所有運算式都可以使用比較運算子。下表會列出 Transact-SQL 比較運算子。

運算子

意義

= (等於)

等於

> (大於)

大於

< (小於)

小於

>= (大於或等於)

大於或等於

<= (小於或等於)

小於或等於

<> (不等於)

不等於

!= (不等於)

不等於 (不是 ISO 標準)

!< (不小於)

不小於 (不是 ISO 標準)

!> (不大於)

不大於 (不是 ISO 標準)

布林資料類型

比較運算子結果是 Boolean 資料類型。它有三個值:TRUE、FALSE 和 UNKNOWN。傳回 Boolean 資料類型的運算式稱為布林運算式。

Boolean 資料類型和其他 SQL Server 資料類型不同,它不能指定為資料表資料行或變數的資料類型,且在結果集中無法傳回。

當 SET ANSI_NULLS 是 ON 時,有一或兩個 NULL 運算式的運算子會傳回 UNKNOWN。當 SET ANSI_NULLS 是 OFF 時,如果兩個運算式都是 NULL,除了等於 (=) 運算子會傳回 TRUE,也適用相同的規則。例如,當 SET ANSI_NULLS 是 OFF 時,NULL = NULL 會傳回 TRUE。

WHERE 子句利用含 Boolean 資料類型的運算式,來篩選符合搜尋條件,且在 IF 和 WHILE 之類的流程控制語言陳述式中的資料列,例如:

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