Teradata-logical-and-conditional-operators

提供:Dev Guides
移動先:案内検索

Teradata-論理演算子および条件演算子

Teradataは、次の論理演算子と条件演算子をサポートしています。 これらの演算子は、比較を実行し、複数の条件を結合するために使用されます。

Syntax Meaning
> Greater than
< Less than
>= Greater than or equal to
Less than or equal to
= Equal to
BETWEEN If values within range
IN If values in <expression>
NOT IN If values not in <expression>
IS NULL If value is NULL
IS NOT NULL If value is NOT NULL
AND Combine multiple conditions. Evaluates to true only if all conditions are met
OR Combine multiple conditions. Evaluates to true only if either of the conditions is met.
NOT Reverses the meaning of the condition

の間に

BETWEENコマンドは、値が値の範囲内にあるかどうかを確認するために使用されます。

次の従業員表を検討してください。

EmployeeNo FirstName LastName JoinedDate DepartmentNo BirthDate
101 Mike James 3/27/2005 1 1/5/1980
102 Robert Williams 4/25/2007 2 3/5/1983
103 Peter Paul 3/21/2007 2 4/1/1983
104 Alex Stuart 2/1/2008 2 11/6/1984
105 Robert James 1/4/2008 3 12/1/1984

次の例では、従業員番号が101,102〜103の範囲にあるレコードをフェッチします。

SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo BETWEEN 101 AND 103;

上記のクエリを実行すると、従業員が101から103の間の従業員レコードが返されます。

*** Query completed. 3 rows found. 2 columns returned.
*** Total elapsed time was 1 second.
 EmployeeNo            FirstName
-----------  ------------------------------
   101                   Mike
   102                   Robert
   103                   Peter

IN

INコマンドは、指定された値のリストに対して値をチェックするために使用されます。

次の例では、従業員番号が101、102、103のレコードを取得します。

SELECT EmployeeNo, FirstName FROM
Employee
WHERE EmployeeNo in (101,102,103);

上記のクエリは、次のレコードを返します。

*** Query completed. 3 rows found. 2 columns returned.
** *Total elapsed time was 1 second.
 EmployeeNo            FirstName
-----------  ------------------------------
   101                   Mike
   102                   Robert
   103                   Peter

ありませんで

NOT INコマンドは、INコマンドの結果を逆にします。 指定されたリストと一致しない値を持つレコードを取得します。

次の例では、従業員番号が101、102、103にないレコードを取得します。

SELECT* FROM
Employee
WHERE EmployeeNo not in (101,102,103);

上記のクエリは、次のレコードを返します。

*** Query completed. 2 rows found. 6 columns returned.
*** Total elapsed time was 1 second.
 EmployeeNo          FirstName                      LastName
----------- ------------------------------ -----------------------------
    104                Alex                          Stuart
    105                Robert                        James