Teradata-case-and-coalesce
提供:Dev Guides
Teradata-ケースとコアレス
この章では、TeradataのCASEおよびCOALESCE機能について説明します。
ケース式
CASE式は、各行を条件またはWHEN句に対して評価し、最初の一致の結果を返します。 一致するものがない場合、ELSE部分の結果が返されます。
構文
CASE式の構文は次のとおりです。
例
次のEmployeeテーブルを検討してください。
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 |
次の例では、DepartmentNo列を評価し、部門番号が1の場合に値1を返します。部門番号が3の場合、2を返します。それ以外の場合は、無効な部門として値を返します。
上記のクエリを実行すると、次の出力が生成されます。
上記のCASE式は、上記と同じ結果を生成する次の形式でも記述できます。
コーレス
COALESCEは、式の最初のnull以外の値を返すステートメントです。 式のすべての引数がNULLと評価される場合、NULLを返します。 構文は次のとおりです。
構文
例
NULLIF
引数が等しい場合、NULLIFステートメントはNULLを返します。
構文
NULLIFステートメントの構文は次のとおりです。
例
次の例は、DepartmentNoが3の場合にNULLを返します。 それ以外の場合、DepartmentNo値を返します。
上記のクエリは、次のレコードを返します。 従業員105には部門番号があることがわかります。 NULLとして。