Teradata-論理演算子と条件演算子
Teradataは、次の論理演算子と条件演算子をサポートしています。これらの演算子は、比較を実行し、複数の条件を組み合わせるために使用されます。
構文 | 意味 |
---|---|
> | 大なり記号 |
< | 未満 |
>= | 以上 |
<= | 以下 |
= | に等しい |
BETWEEN | 値が範囲内の場合 |
IN | <式>の値の場合 |
NOT IN | <式>に値がない場合 |
IS NULL | 値がNULLの場合 |
IS NOT NULL | 値がNULLでない場合 |
AND | 複数の条件を組み合わせます。すべての条件が満たされた場合にのみtrueと評価されます |
OR | 複数の条件を組み合わせます。いずれかの条件が満たされた場合にのみtrueと評価されます。 |
NOT | 条件の意味を逆にします |
の間に
BETWEENコマンドは、値が値の範囲内にあるかどうかを確認するために使用されます。
例
次の従業員テーブルについて考えてみます。
従業員番号 | ファーストネーム | 苗字 | JoinedDate | 部門番号 | 誕生日 |
---|---|---|---|---|---|
101 | マイク | ジェームズ | 2005年3月27日 | 1 | 1980年1月5日 |
102 | ロバート | ウィリアムズ | 2007年4月25日 | 2 | 1983年3月5日 |
103 | ピーター | ポール | 2007年3月21日 | 2 | 1983年4月1日 |
104 | アレックス | スチュアート | 2008年2月1日 | 2 | 1984年11月6日 |
105 | ロバート | ジェームズ | 2008年1月4日 | 3 | 1984年12月1日 |
次の例では、従業員番号が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コマンドは、指定された値のリストに対して値をチェックするために使用されます。
例
次の例では、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コマンドの結果を逆にします。指定されたリストと一致しない値を持つレコードをフェッチします。
Example
The following example fetches records with employee numbers not in 101, 102 and 103.
SELECT * FROM
Employee
WHERE EmployeeNo not in (101,102,103);
The above query returns the following records.
*** Query completed. 2 rows found. 6 columns returned.
*** Total elapsed time was 1 second.
EmployeeNo FirstName LastName
----------- ------------------------------ -----------------------------
104 Alex Stuart
105 Robert James