比較運算子 (Transact-SQL)
適用於:SQL ServerAzure SQL 資料庫 Azure SQL 受控執行個體
比較運算子用來測試兩個運算式是否相同。 除了 text、ntext 或 image 資料類型的運算式,所有運算式都可使用比較運算子。 下表會列出 Transact-SQL 比較運算子。
運算子 | 意義 |
---|---|
= (等於) | 等於 |
> (大於) | 大於 |
< (小於) | 小於 |
>= (大於或等於) | 大於或等於 |
<= (小於或等於) | 小於或等於 |
<> (不等於) | 不等於 |
!= (不等於) | 不等於 (不是 ISO 標準) |
!< (不小於) | 不小於 (不是 ISO 標準) |
!> (不大於) | 不大於 (不是 ISO 標準) |
Boolean 資料類型
比較運算子的結果具有 Boolean 資料類型。 它有三個值:TRUE、FALSE 和 UNKNOWN。 傳回 Boolean 資料類型的運算式稱為布林運算式。
Boolean 資料類型和其他 SQL Server 資料類型不同,不能指定為資料表資料行或變數的資料類型,也無法使用結果集傳回。
當 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;