%TIMESTAMP (タイム・スタンプへの変換)


%TIMESTAMP{(char-num-expression { : *ISO|*ISO0 : {fractional-seconds}})}
%TIMESTAMP{(date-timestamp-expression { : fractional-seconds})}
%TIMESTAMP{(*SYS { : fractional-seconds})}
%TIMESTAMP{(*UNIQUE)}

%TIMESTAMP を使用して現在のシステム・タイム・スタンプを戻す

パラメーターが指定されていないか、または最初のパラメーターとして *SYS または *UNIQUE が指定されている場合、%TIMESTAMP は現在のシステム・タイム・スタンプをマイクロ秒の精度で戻します。

最初のパラメーターが *SYS の場合、2 番目のパラメーターは任意指定であり、タイム・スタンプ内の秒の小数部の桁数が戻されます。 秒の小数部の桁数は 0 から 12 までの間にすることができます。 秒の小数部のデフォルトの桁数は 6 です。

最初のパラメーターが *UNIQUE の場合、%TIMESTAMP は現在のシステム・タイム・スタンプをマイクロ秒単位の精度で戻します。 タイム・スタンプの小数部の最初の 6 桁には、タイム・スタンプのマイクロ秒の部分が設定されます。 残りの 6 桁の小数秒に値に設定され、この値によって、結果として生成されるタイム・スタンプが固有になります。 ただし、その残りの 6 桁の小数秒によって、タイム・スタンプの精度が上がることはありません。

ヒント: 固有のタイム・スタンプを使用して 2 つの固有のタイム・スタンプ間の経過時間を決定する場合、結果はマイクロ秒の精度でのみ計算されます。

%TIMESTAMP を使用して式をタイム・スタンプに変換する

  • 最初のパラメーターが文字式または数値式の場合、2 番目のパラメーターは文字データまたは数値データの形式になります。 入力データの形式にかかわらず、出力は *ISO 形式で戻されます。

    文字入力の場合、*ISO (デフォルト) または *ISO0 のいずれかを指定できます。 詳しくは、 タイム・スタンプ・データ・タイプを参照してください。

    最初のパラメーターが数値の場合は、2 番目のパラメーターを指定する必要はありません。 唯一許される値は *ISO (デフォルトの値) のみです。

    3 番目のパラメーターは、任意指定であり、タイム・スタンプ内の秒の小数部の桁数 です。 秒の小数部の桁数は 0 から 12 までの間にすることができます。 秒の小数部のデフォルトの桁数は 6 です。

  • 最初のパラメーターが日付またはタイム・スタンプ式である場合、2 番目のパラメーターは任意指定であり、戻されるタイム・スタンプ内の秒の小数部の桁数です。

    最初のオペランドが日付の場合、システムはその日付を現在の形式 から *ISO 形式に変換し、時刻 00.00.00 とゼロの小数点以下の秒を加算 します。 秒の小数部の桁数は 0 から 12 までの間にすることができます。 秒の小数部のデフォルトの桁数は 6 です。

詳しくは、 情報操作 または 組み込み関数を参照してください。

%TIMESTAMP の例

 *..1....+....2....+....3....+....4....+....5....+....6....+....7...+....

   string = '1960-09-29-12.34.56.000000';
   timest =  %timestamp(string);
    // timest now contains z'1960-09-29-12.34.56.000000'

   date = '2001-03-05';
   timest =  %timestamp(date);
    // timest now contains z'2001-03-05-00.00.00.000000'

   dsply (%timestamp(*SYS));
    // It displays 2014-06-27-01.02.03.421345

   dsply (%timestamp(*SYS : 1));
    // It displays 2014-06-27-01.02.03.4

   dsply (%timestamp(*SYS : 0));
    // It displays 2014-06-27-01.02.03

   dsply (%timestamp(*UNIQUE);
    // It displays 2014-06-27-01.02.03.923481000244