比較演算子 (Transact-SQL)
適用対象: SQL Server Azure SQL Database Azure SQL Managed Instance Microsoft Fabric SQL Database
比較演算子は、2 つの式が同じかどうかをテストします。 比較演算子は text、ntext、または image データ型の式を除くすべての式で使用できます。 次の表は、Transact-SQL の比較演算子の一覧です。
演算子 | 説明 |
---|---|
= (等しい) | 等しい |
> (より大きい) | より大きい |
< (より小さい) | より小さい |
>= (以上) | 以上 |
<= (以下) | 以下 |
<> (等しくない) | 等しくない |
\!= (等しくない) | 等しくない (ISO 標準外) |
!< (次の値より小さくない) | より小さくない (ISO 標準外) |
!> (次の値より大きくない) | より大きくない (ISO 標準外) |
Boolean データ型
比較演算子の結果はブール データ型になります。 有効値には、TRUE、FALSE、UNKNOWN があります。 ブール データ型を返す式は、ブール式とも呼ばれます。
ブール データ型は SQL Server の他のデータ型と異なり、テーブルの列や変数のデータ型として指定することはできず、結果セットで返すこともできません。
SET ANSI_NULLS が ON の場合、1 つまたは 2 つの NULL 式が含まれる演算子では UNKNOWN が返されます。 SET ANSI_NULLS が OFF の場合、等号 (=) 演算子と不等号 (<>) 演算子を除き、同じ規則が適用されます。 SET ANSI_NULLS が OFF の場合、これらの演算子では、他の NULL と同等の、既知の値として NULL を処理し、TRUE または FALSE のみを返します (UNKNOWN を返すことはありません)。
ブール データ型の式は、検索条件を満たす行をフィルター選択するための WHERE 句、または IF や WHILE などのフロー制御言語ステートメントで使用します。たとえば次のようになります。
-- Uses AdventureWorks
DECLARE @MyProduct INT;
SET @MyProduct = 750;
IF (@MyProduct <> 0)
SELECT ProductID, Name, ProductNumber
FROM Production.Product
WHERE ProductID = @MyProduct;