CURTIME (SQL)
構文
{fn CURTIME()}
{fn CURTIME}
概要
CURTIME は、現在のローカル時刻を TIME データ型として返します。引数は取りません。引数の括弧はオプションです。CURTIME は、このタイムゾーンの現在のローカル時刻を返します。これはサマータイムなどのローカル時刻調整に合わせて調整されます。
論理モードの CURTIME は、$HOROLOG 形式で現在のローカル時刻を返します (例:37065)。表示モードの CURTIME は、そのロケールの既定形式で現在のローカル時刻を返します (例:10:18:27)。
時間は 24 時間形式で表示されます。
既定の時刻形式を変更するには、TIME_FORMAT および TIME_PRECISION オプションで SET OPTION コマンドを使用します。
現在の時刻のみを返すには、CURTIME または CURRENT_TIME を使用します。これらの関数は、その値を TIME データ型で返します。現在の日付と時間を TIMESTAMP データ型で返す場合は、CURRENT_TIMESTAMP 関数、GETDATE 関数、および NOW 関数を使用できます。
InterSystems SQL の時刻関数および日付関数は、GETUTCDATE を除いてすべて、それぞれのローカル・タイム・ゾーン設定に固有です。タイム・ゾーンに依存しない世界時による現在のタイムスタンプを取得するには、GETUTCDATE または ObjectScript の $ZTIMESTAMP 特殊変数を使用します。
埋め込み SQL を使用するときは、これらのデータ型の動作が異なります。TIME データ型は $HOROLOG 形式の整数 (午前 0 時 00 分からの秒数) として値を格納し、SQL で表示されるときは時刻表示形式に変換され、埋め込み SQL から返されるときは整数として返されます。TIMESTAMP データ型は、同じ形式で値を格納および表示します。時刻および日付のデータ型は、CAST または CONVERT 関数を使用して変更できます。
例
以下の例は、ともに現在のシステム時刻を返します。
SELECT {fn CURTIME()} AS TimeNow
SELECT {fn CURTIME} AS TimeNow
以下の埋め込み SQL の例は、現在の時刻を返します。この時刻は $HOROLOG 形式で格納されるため、整数として返されます。
&sql(SELECT {fn CURTIME} INTO :a)
IF SQLCODE'=0 {
WRITE !,"Error code ",SQLCODE }
ELSE {
WRITE !,"Current time is: ",a }
以下の例は、Contacts テーブルの指定された行の LastCall フィールドに、現在のシステム時刻を設定します。
UPDATE Contacts Set LastCall = {fn CURTIME()}
WHERE Contacts.ItemNumber=:item
関連項目
-
SQL タイムスタンプ関数 : CURRENT_TIMESTAMP GETDATE GETUTCDATE NOW TIMESTAMPADD TIMESTAMPDIFF
-
ObjectScript : $ZTIME 関数 $HOROLOG 特殊変数 $ZTIMESTAMP 特殊変数