現在のローカル時刻を返す、汎用日付/時刻関数です。
Synopsis
既定の時刻形式を変更するには、TIME_FORMAT および TIME_PRECISION オプションで
SET OPTION コマンドを使用します。秒の小数部の精度は以下のように設定できます。
埋め込み SQL を使用するときは、これらのデータ型の動作が異なります。TIME データ型は
$HOROLOG 形式の整数 (午前 0 時 00 分からの秒数) として値を格納し、SQL で表示されるときは時刻表示形式に変換され、埋め込み SQL から返されるときは整数として返されます。TIMESTAMP データ型は、同じ形式で値を格納および表示します。日付および時刻のデータ型は、
CAST または
CONVERT 関数を使用して変更できます。
CURRENT_TIME は秒の小数部の精度について小数点以下 9 桁までの値を返すことができます。精度桁数の既定は以下の方法で構成できます。
-
-
ObjectScript $SYSTEM.SQL.SetDefaultTimePrecision() 関数を呼び出します。
-
返される小数点以下の桁数の既定値を含めて 0 ~ 9 の整数を指定します。初期の既定値は 0 です。実際に返される精度はプラットフォームに依存し、システムで使用可能な精度を超えた精度の桁はゼロとして返されます。
SELECT DISTINCT CURRENT_TIME
FROM Sample.Person
以下の埋め込み SQL の例は、現在の時刻を返します。この時刻は $HOROLOG 形式で格納されるため、整数として返されます。
&sql(SELECT CURRENT_TIME
INTO :a
FROM Sample.Person)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE }
ELSE {
WRITE !,"Current time is: ",a }
以下の例は、Contacts テーブルの指定された行の LastCall フィールドに、現在のシステム時刻を設定します。
UPDATE Contacts SET LastCall = CURRENT_TIME
WHERE Contacts.ItemNumber=:item