MICROSECOND スカラー関数
MICROSECOND 関数は、値のマイクロ秒の部分を戻します。
スキーマは SYSIBM です。
引数は、タイム・スタンプ、文字ストリング、グラフィック・ストリング、または数値データ・タイプのいずれかの値を戻す式であることが必要です。
- expression が文字ストリングまたはグラフィック・ストリングの場合、 この expression は CLOB または DBCLOB であってはなりません。expression の値は、実際の長さが 255 バイト以下の、タイム・スタンプの有効なストリング表現であることが必要です。 時刻およびタイムスタンプの文字列表現の有効な形式については、「datetime 値の文字列表現」 を参照してください。
- expression が数値の場合、この数値はタイム・スタンプ期間であることが必要です。 タイムスタンプの有効な形式については、「日付時刻オペランド」 を参照してください。
expression がタイム・ゾーン付きのタイム・スタンプ、またはタイム・ゾーン付きのタイム・スタンプの有効なストリング表現である場合、結果は日時値の UTC 表現から決定されます。
この関数の結果は長精度整数 (large integer) です。
結果はnullになる可能性があります。引数がnullの場合、結果もnull値となります。
その他の規則は、引数のデータ・タイプに応じて以下のように異なります。
- 引数がタイムスタンプまたはタイムスタンプの文字列表現である場合、結果は値のマイクロ秒部分となり、0~999999 の範囲の整数となります。 タイム・スタンプの精度が 6 を超える場合、値は切り捨てられます。
- 引数が期間の場合、結果は値のマイクロ秒の 部分となります。すなわち、 -999999 から 999999 までの整数です。 ゼロ以外の結果の符号は、引数と同じになります。
例 1: 表 TABLEX に、
TSTMPCOL という名前の TIMESTAMP 列および INTCOL という
名前の SMALLINT 列が含まれているものとします。 INTCOL 値が 1234 である行の TSTMPCOL 列のマイクロ秒の部分を選択します。
SELECT MICROSECOND(TSTMPCOL) FROM TABLEX
WHERE INTCOL = 1234;例 2: 以下の MICROSECOND 関数の呼び出しは、同じ結果を戻します。
SELECT MICROSECOND('2003-01-02-20.00.00.123456'),
MICROSECOND('2003-01-02-12.00.00.123456-08:00'),
MICROSECOND('2003-01-03-05.00.00.123456+09:00')
FROM SYSIBM.SYSDUMMY1;この SELECT ステートメントのそれぞれの MICROSECOND 関数の呼び出しについて、結果は 123456 になります。入力引数がタイム・ゾーンを含む場合、結果は入力値の UTC 表現から決定されます。 SELECT 文のタイム・ゾーン付きのタイム・スタンプのストリング表現は、すべて同じ UTC 表現: 2003-01-02-20.00.00.123456 になります。
