QUARTER スカラー関数
QUARTER関数は、日付が存在する年の四半期を表す1~4の範囲の整数を返します。 例えば、1 月、2 月、または 3 月の任意の日付について、整数 1 が戻されます。
スキーマは SYSIBM です。
引数は、日付、タイム・スタンプ、文字ストリング、またはグラフィック・ストリングのいずれかの組み込みデータ・タイプを戻す式であることが必要です。 expression が文字ストリング・データ・タイプまたはグラフィック・ストリング・データ・タイプの場合、この expression は CLOB または DBCLOB であってはなりません。expression の値は、実際の長さが 255 バイト以下の、日付またはタイム・スタンプの有効なストリング表現であることが必要です。 日付とタイムスタンプの文字列表現の有効な形式については、「日時値の文字列表現」 を参照してください。
expression がタイム・ゾーン付きのタイム・スタンプ、またはタイム・ゾーン付きのタイム・スタンプの有効なストリング表現である場合、結果は日時値の UTC 表現から決定されます。
この関数の結果は長精度整数 (large integer) です。
結果はnullになる可能性があります。引数がnullの場合、結果もnull値になります。
例 1: 以下の関数は、8 月が年の 3 番目の四半期にある
ので、3 を戻します。
SELECT QUARTER('2008-08-25')
FROM SYSIBM.SYSDUMMY1例 2: サンプルテーブル DSN8C10.PROJ を使用して、プロジェクト「 AD3111 」のアクティビティ番号 70 が発生した年の四半期を整数型ホスト変数 QUART に設定します。 活動完了日付は列 ACENDATE に記録されています。
SELECT QUARTER(ACENDATE)
INTO :QUART
FROM DSN8C10.PROJ
WHERE PROJNO = 'AD3111' AND ACTNO = 70;QUART は 4 に設定されます。例 3: 以下の QUARTER 関数の呼び出しは、同じ結果を戻します。
SELECT QUARTER('2003-01-02-20.10.05.123456'),
QUARTER('2003-01-02-12.10.05.123456-08:00'),
QUARTER('2003-01-03-05.10.05.123456+09:00')
FROM SYSIBM.SYSDUMMY1;この SELECT ステートメントのそれぞれの QUARTER 関数の呼び出しについて、結果は 1 になります。入力引数がタイム・ゾーンを含む場合、結果は入力値の UTC 表現から決定されます。 SELECT 文のタイム・ゾーン付きのタイム・スタンプのストリング表現は、すべて同じ UTC 表現: 2003-01-02-20.10.05.123456 になります。 UTC 表現の月の部分は 1 月に対する 1 であり、これは最初の四半期内にあります。
