比較演算子 (データベース エンジン)
比較演算子は、文字データ、数値データ、または日付データで使用します。クエリの WHERE 句または HAVING 句でも使用できます。比較演算子は、テストされた条件の結果に基づいて、Boolean データ型に評価し、TRUE または FALSE を返します。
たとえば、1998 年 3 月 15 日以前に入社した従業員のボーナスを計算する場合、従業員の hire_date が 1998 年 3 月 15 日以前かどうかを計算すると、ボーナスの受給対象になる従業員の一覧を取得できます。
有効な比較演算子は、次のとおりです。
- > (より大きい)
- < (より小さい)
- = (等しい)
- <= (以下)
- >= (以上)
- != (等しくない)
- <> (等しくない)
- !< (より小さくない)
- !> (より大きくない)
比較演算子をプログラムのロジックで使用すると、条件を満たしているかどうかを調べることもできます。たとえば、国や地域の値がスペインではなくイギリスの場合、適用される送料が異なることが考えられます。この場合、比較演算子、式 (列名)、リテラル ('UK')、および流れ制御プログラミング キーワード (IF) を使用して、この処理を実現できます。
クエリのために実際のデータにアクセスする場合、他のクエリとの間で比較演算子を使用できます。ただし、このようなデータ変更ステートメントで比較演算子を使用するのは、ユーザーが適切な権限を持っており、限定されたグループのユーザーだけがデータを変更できる場合だけにしてください。これにより、データの整合性が保たれます。
クエリでは、文字列比較を使用して、ローカル変数、カーソル、または列の値を定数と比較することもできます。たとえば、国や地域の値がイギリスの場合は、すべての顧客列を印刷する必要があるとします。次の表では、Unicode と Unicode 以外のデータの間での文字列比較の例を示します。ST1 は char 型、ST2 は nchar 型です。
比較 | 説明 |
---|---|
ST1 = ST2 |
CONVERT(nchar, ST1) = ST2 または CAST(ST1 as nchar) = ST2 と同じ |
ST1 = 'non-Unicode string' |
標準の SQL-92 文字列比較 |
ST2 = 'non-Unicode string' |
ST2 = CONVERT(nchar, 'non-Unicode string') または ST2 = CAST('non-Unicode string' AS nchar) と同じ |
ST2 = N'Unicode string' |
Unicode 比較 |
CONVERT(nchar, ST1) = ST2 または CAST(ST1 AS nchar) = ST2 |
Unicode 比較 |
ST1 = CONVERT(char, ST2) または ST1 = CAST(ST2 AS char) |
標準の SQL-92 文字列比較 |
N'' (かっこ内の Unicode 空文字列) |
空文字列 |
'' (Unicode 以外の空文字列) |
空文字列または空白文字が 1 つ含まれている文字列 (SQL-92 の設定によって異なります) |
参照
その他の技術情報
= (等しい) (Transact-SQL)
<> (等しくない) (Transact-SQL)
> (より大きい) (Transact-SQL)
!<(以上) (Transact-SQL)
< (より小さい) (Transact-SQL)
!= (等しくない) (Transact-SQL)
>= (以上) (Transact-SQL)
!> (以下) (Transact-SQL)
<= (以下) (Transact-SQL)
WHERE (Transact-SQL)