CURRENT_TIME (SQL)
構文
CURRENT_TIME CURRENT_TIME(precision)
説明
CURRENT_TIME は、このタイムゾーンの現在のローカル時刻を返します。 これはサマータイムなどのローカル時刻調整に合わせて調整されます。
CURRENT_TIME は、引数を取らないか、精度引数を取ります。空引数の括弧は使用できません。
論理モードの CURRENT_TIME は、$HOROLOG 形式で現在のローカル時刻を返します (例:37065)。表示モードの CURRENT_TIME は、そのロケールの既定形式で現在のローカル時刻を返します (例:10:18:27)。
既定の時刻形式を変更するには、TIME_FORMAT および TIME_PRECISION オプションで SET OPTION コマンドを使用します。秒の小数部の精度は以下のように設定できます。
現在の時刻のみを返すには、CURRENT_TIME または CURTIME を使用します。これらの関数は、その値を TIME データ型で返します。現在の日付と時間を TIMESTAMP データ型で返す場合は、CURRENT_TIMESTAMP 関数、GETDATE 関数、および NOW 関数を使用できます。
InterSystems SQL の時刻関数および日付関数は、GETUTCDATE を除いてすべて、それぞれのローカル・タイム・ゾーン設定に固有です。タイム・ゾーンに依存しない世界時による現在のタイムスタンプを取得するには、GETUTCDATE または ObjectScript の $ZTIMESTAMP 特殊変数を使用します。
埋め込み SQL を使用するときは、これらのデータ型の動作が異なります。 TIME データ型は $HOROLOG 形式の整数 (午前 0 時 00 分からの秒数) として値を格納し、SQL で表示されるときは時刻表示形式に変換され、埋め込み SQL から返されるときは整数として返されます。TIMESTAMP データ型は、同じ形式で値を格納および表示します。日付および時刻のデータ型は、CAST または CONVERT 関数を使用して変更できます。
CURRENT_TIME は、CREATE TABLE または ALTER TABLE の既定の仕様のキーワードとして使用されます。CURRENT_TIME が既定の仕様のキーワードとして使用されている場合、precision 引数を指定することはできません。
秒の小数部の精度
CURRENT_TIME は秒の小数部の精度について小数点以下 9 桁までの値を返すことができます。精度桁数の既定は以下の方法で構成できます。
-
SET OPTION で TIME_PRECISION オプションを使用します。
-
システム全体の $SYSTEM.SQL.Util.SetOption()Opens in a new tab メソッド構成オプション DefaultTimePrecision。現在の設定を確認するには、$SYSTEM.SQL.CurrentSettings()Opens in a new tab を呼び出します。これにより、[Default time precision] が表示されます。既定値は 0 です。
-
管理ポータルに進み、[システム管理]、[構成]、[SQL およびオブジェクトの設定]、[SQL] の順に選択します。[GETDATE()、CURRENT_TIME、および CURRENT_TIMESTAMP の既定の時間精度] の現在の設定を表示して編集します。
返される精度の小数点以下の桁数の既定値に 0 ~ 9 の整数を指定します。既定値は 0 です。実際に返される精度はプラットフォームに依存し、システムで使用可能な精度を超えた精度の桁はゼロとして返されます。
例
以下の例は、現在のシステム時刻を返します。
SELECT CURRENT_TIME
以下の例は、3 桁の秒の小数部の精度で現在のシステム時刻を返します。
SELECT CURRENT_TIME(3)
以下の埋め込み SQL の例は、現在の時刻を返します。この時刻は $HOROLOG 形式で格納されるため、整数として返されます。
&sql(SELECT CURRENT_TIME INTO :a)
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
関連項目
-
SQL タイムスタンプ関数: CURRENT_TIMESTAMP、GETDATE、GETUTCDATE、NOW、SYSDATE、TIMESTAMPADD、TIMESTAMPDIFF
-
InterSystems IRIS ObjectScript : $ZTIME 関数、$HOROLOG 特殊変数、$ZTIMESTAMP 特殊変数