HOUR スカラー関数

HOUR 関数は、値の時の部分を戻します。

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

スキーマは SYSIBM です。

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

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

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

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

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

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

  • 引数が時刻、タイムスタンプ、またはその文字列表現である場合、結果はその値の時間部分となり、1~24の範囲の整数となります。
  • 引数が時刻期間またはタイム・スタンプ期間の場合、 結果は値の時の部分となります。すなわち、-99 から +99 までの整数です。 ゼロ以外の結果の符号は、引数と同じになります。
  • 変更の開始引数にタイムゾーンが含まれている場合、結果は UTC で表現された値の時間部分となります。変更の終わり
例 1: CLASSES という名前の 表に、スケジュールされたクラスごとに 1 行ずつ含まれている ものとします。 また、クラスの開始時刻が STARTTM という名前の TIME 列に 入っているものとします。 CLASSES から、午後に始まるクラスを 表す行を選択します。
   SELECT *
     FROM CLASSES
     WHERE HOUR(STARTTM) > 12;
例 2: 以下の HOUR 関数の呼び出しは、同じ結果を戻します。
SELECT HOUR('2003-01-02-20.00.00'), 
			HOUR('2003-01-02-12.00.00-08:00'), 
			HOUR('2003-01-03-05.00.00+09:00') 
		FROM SYSIBM.SYSDUMMY1;
この SELECT ステートメントのそれぞれの HOUR 関数の呼び出しについて、結果は 20 になります。

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