CASE ER 関数
CASE
関数は、指定された代替オプションに対して指定された式の値を評価し、指定された式の値に等しい最初のオプションの結果を返します。 それ以外の場合は、オプションの前にはない呼び出された関数の最後の引数としてデフォルト結果が指定されている場合、オプションのデフォルト結果を返します。 返される値は、サポートされているいずれかのデータ型の値にすることができます。
構文
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
引数
expression
: Primitiveデータ型 (ブール値、数値、またはテキスト)
プリミティブ データ型の値を返す有効な式。
option 1
: Primitiveデータ型 (ブール値、数値、またはテキスト)
呼び出された関数の expression
引数と同じプリミティブ データ型の値を返す有効な式。 この引数は必須です。
result 1
: サポートされているデータ型
前のオプションに対応する返された結果。 この引数は必須です。
option N
: Primitiveデータ型 (ブール値、数値、またはテキスト)
呼び出された関数の expression
引数と同じプリミティブ データ型の値を返す有効な式。 この引数はオプションです。
result N
: サポートされているデータ型
前のオプションに対応する返された結果。 この引数はオプションです。
default result
: サポートされているデータ型
一致がない場合に返される結果。 この引数はオプションです。
戻り値
サポートされている任意のデータ型
サポートされているいずれかのデータ型の結果値。
使用上の注意
実行時に、一致するものがなく、オプションの既定の結果が定義されていない場合は、例外がスローされます。
すべての結果は、同じデータ型を使用して指定する必要があります。 構成された結果のデータ型が一致しない場合は、デザイン時に例外がスローされます。
最初の結果値と N 番目の結果値がコンテナー (レコード) またはレコード リスト データ型の値である場合、結果には両方の値に存在するフィールドのみが含まれます。
例
CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
現在の申請セッションの 10月から12月の間の "WINTER" という文字列を返します。 それ以外の場合は、空白文字列を返します。