YEAR スカラー関数

YEAR 関数は、文字ストリングまたはグラフィック・ストリングである値の年の部分を戻します。 値は、日付またはタイム・スタンプの有効なストリング表現である必要があります。

構文図を読むビジュアルシンタックスダイアグラムをスキップするYEAR( 式)

スキーマは SYSIBM です。

引数は、日付、タイム・スタンプ、文字ストリング、グラフィック・ストリング、または数値データ・タイプのいずれかの組み込みデータ・タイプを戻す式であることが必要です。

  • expression が文字ストリングまたはグラフィック・ストリングの場合、 この expression は CLOB または DBCLOB であってはなりません。また expression の値は、実際の長さが 255 バイト以下の、日付またはタイム・スタンプの有効なストリング表現であることが必要です。 日付とタイムスタンプの文字列表現の有効な形式については、「日時値の文字列表現」 を参照してください。
  • expression が数値の場合、この数値は日付期間またはタイム・スタンプ期間であることが必要です。 日付とタイムスタンプの有効なフォーマットについては、「Datetime オペランド」 を参照してください。

expression がタイム・ゾーン付きのタイム・スタンプ、またはタイム・ゾーン付きのタイム・スタンプの有効なストリング表現である場合、結果は日時値の UTC 表現から決定されます。

この関数の結果は長精度整数 (large integer) です。

結果はnullになる可能性があります。引数がnullの場合、結果もnull値となります。

その他の規則は、指定した引数のデータ・タイプに応じて以下のように異なります。

  • 引数が日付、タイムスタンプ、またはその文字列表現である場合、結果は値の年部分となり、1~9999の範囲の整数となります。
  • 引数が日付期間またはタイム・スタンプ期間の場合、 結果は、その値の年の部分となります。すなわち、-9999 から 9999 まで の整数です。 ゼロ以外の結果の符号は、引数と同じになります。
  • 引数がタイム・ゾーンを含む場合、結果は UTC で表される値の年の部分になります。
例 1 : テーブル DSN8D10.EMP から、1941 年生まれの従業員に関するすべての行を選択します。
   SELECT *
     FROM DSN8D10.EMP
     WHERE YEAR(BIRTHDATE) = 1941;
例 2: 以下の YEAR 関数の呼び出しは、同じ結果を戻します。
SELECT YEAR('1993-08-10-20.00.00'), 
			YEAR('1993-08-10-20.00.00-08:00'), 
			YEAR('1993-08-10-20.00.00+09:00') 
		FROM SYSIBM.SYSDUMMY1;
この SELECT ステートメントのそれぞれの YEAR 関数の呼び出しについて、結果は 1993 になります。

入力引数がタイム・ゾーンを含む場合、結果は入力値の UTC 表現から決定されます。 SELECT 文のタイム・ゾーン付きのタイム・スタンプのストリング表現は、すべて同じ UTC 表現: '1993-08-10-20.00.00' になります。