current_time関数

現在の時間をUTCで返します(精度がミリ秒のタイムスタンプ値として)。

構文:
timestamp(3) current_time()

セマンティクス:

  • この関数は、入力引数を想定していません。
  • 戻り値: timestamp(3)

例2: その他のタイムスタンプ関数

例12-31 乗客の最終移動日と現在の日付の間の経過時間の決定

航空会社アプリケーションで、数人の顧客が頻繁に旅行し、フリークエント・フライヤのマイルの報奨を受ける権利があります。乗客の最終旅行日と現在の日付の間の時間経過を判断して、このような報奨プログラムに対して考慮できるかどうかを評価できます。
SELECT
$s.fullName,
$s.contactPhone, 
get_duration(timestamp_diff(current_time(), CAST($bagInfo.flightLegs[1].flightDate AS Timestamp(0)))) AS LastTravel
FROM baggageinfo $s, $s.bagInfo[] AS $bagInfo

説明:

current_time関数を使用して、現在の時間を取得できます。最終旅行日と現在の日付の間の期間を決定するために、現在の時間をget_duration/timestamp_diff関数に最終旅行時間とともに指定できます。timestamp_diffおよびget_duration関数の詳細は、timestamp_diff関数を参照してください。

出力:
{"fullName":"Adelaide Willard","contactPhone":"421-272-8082","LastTravel":"1453 days 6 hours 20 minutes 56 seconds 601 milliseconds"}

{"fullName":"Adam Phillips","contactPhone":"893-324-1064","LastTravel":"1451 days 23 hours 19 minutes 39 seconds 543 milliseconds"}

current_time関数を使用して、現在の時間を計算します。現在の時間と最終フライト日の時間差を計算するには、timestamp_diff関数を使用します。最初にCAST式を使用してflightDatesをTIMESTAMPに変換し、タイムスタンプから日、月および年の詳細をフェッチします。timestamp_diff関数は2つのタイムスタンプ値の間のミリ秒数を返すため、次にget_duration関数を使用してミリ秒を期間文字列に変換します。

get_duration関数は、戻り値に基づいてミリ秒を日、時間、分、秒およびミリ秒に変換します。計算のために次の変換が考慮されます:
1000 milliseconds = 1 second
60 seconds = 1 minute
60 minutes = 1 hour
24 hours = 1 day

例: timestamp_diff関数が値129084684821ミリ秒を返す場合、get_duration関数は、それに応じて1494日52分4秒687ミリ秒に変換します。