DAYS スカラー関数

DAYS 関数は、日付の整数表記を戻します。

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

スキーマは SYSIBM です。

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

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

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

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

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

結果は、1 月 1 日 (0001) から D までの日数に、 1 を加えた数になります (D は、 引数に DATE 関数を適用した場合の結果となる日付)。

DAYSの例

例 1
1997年の最終日に社員番号140の社員が在籍していた日数を、INTEGER型ホスト変数DAYSVARに設定します。
   EXEC SQL SELECT DAYS('1997-12-31') - DAYS(HIREDATE) + 1
     INTO :DAYSVAR
     FROM DSN8C10.EMP
     WHERE EMPNO = '000140';
例 2
DAYS関数の以下の呼び出しはすべて同じ結果、つまり731217を返します。 入力引数がタイム・ゾーンを含む場合、結果は入力値の UTC 表現から決定されます。 SELECT文の例におけるタイムゾーン付きタイムスタンプの文字列表現はすべて、UTC表現では同じになります。 2003-01-02-20.00.00。
SELECT DAYS('2003-01-02-20.00.00'), 
			DAYS('2003-01-02-12.00.00-08:00'), 
			DAYS('2003-01-03-05.00.00+09:00') 
		FROM SYSIBM.SYSDUMMY1;