%TIMESTAMP (タイム・スタンプへの変換)
%TIMESTAMP{(char-num-expression { : *ISO|*ISO0 : {fractional-seconds}})}
%TIMESTAMP{(date-timestamp-expression { : fractional-seconds})}
パラメーターが指定されていないか、または、
最初のパラメーターとして *SYS が指定されている場合、%TIMESTAMP は
現行システム・タイム・スタンプを戻します。
%TIMESTAMP は式の値を文字、数値、日付またはタイム・スタンプのデータから、タイム・スタンプのタイプに変換します。
変換された値はタイム・スタンプとして戻されます。
最初のパラメーターは、変換される対象の値です。値を指定しない場合、%TIMESTAMP
は現行システムのタイム・スタンプを戻します。
タイム・スタンプの秒の小数部の先頭 3 桁のみがゼロでない値に設定されます。
秒の小数部の残りの桁はゼロになります。
最初のパラメーターが文字または数値式の場合、2 番目の
パラメーターはタイム・スタンプ形式です。
入力データの形式にかかわらず、出力は *ISO 形式で戻されます。
文字入力の場合、*ISO (デフォルト) または *ISO0 のいずれかを指定できます。詳細については、タイム・スタンプ・データ・タイプを参照してください。
最初のパラメーターが数値の場合は、2 番目のパラメーターを指定する必要はありません。唯一許される値は *ISO (デフォルトの値) のみです。
3 番目のパラメーターは、任意指定であり、タイム・スタンプ内の秒の小数部の桁数 です。

最初のパラメーターが *SYS であるか、日付またはタイム・スタンプ式である
場合、2 番目のパラメーターは、任意指定であり、戻されるタイム・スタンプ内の秒の小数部
の桁数です。
最初のオペランドが日付の場合、システムはその日付を現在の形式
から *ISO 形式に変換し、時刻 00.00.00 とゼロの小数点以下の秒を加算
します。

秒の小数部の桁数は 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