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

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

変更の始まり パラメーターが指定されていないか、または、 最初のパラメーターとして *SYS が指定されている場合、%TIMESTAMP は 現行システム・タイム・スタンプを戻します。 変更の終わり

変更の始まり %TIMESTAMP は式の値を文字、数値、日付またはタイム・スタンプのデータから、タイム・スタンプのタイプに変換します。 変換された値はタイム・スタンプとして戻されます。 変更の終わり

変更の始まり 最初のパラメーターは、変換される対象の値です。値を指定しない場合、%TIMESTAMP は現行システムのタイム・スタンプを戻します。 タイム・スタンプの秒の小数部の先頭 3 桁のみがゼロでない値に設定されます。 秒の小数部の残りの桁はゼロになります。 変更の終わり

変更の始まり 秒の小数部の桁数は 0 から 12 までの間にすることができます。秒の小数部のデフォルトの桁数は 6 です。 変更の終わり

詳細については、情報命令または 組み込み関数を参照してください。

図 1. %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.421000

   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