タイムスタンプ・フォーマット関数

format_timestamp関数およびparse_to_timestamp関数を使用して、タイムスタンプ値を書式設定できます。また、to_last_day_of_month関数を使用して、指定されたタイムスタンプから月の最終日をフェッチできます。

例1: 特定のチケット番号を持つ乗客の場合、入力されたpatternおよびtimezoneに従って最初の移動区間の予定到着時間を出力。

SELECT $info.estimatedArrival, 
format_timestamp($info.estimatedArrival, "MMM dd, yyyy HH:mm:ss O", "America/Vancouver") AS FormattedTimestamp 
FROM BaggageInfo bag, bag.bagInfo.flightLegs[0] AS $info 
WHERE ticketNo= 1762399766476

説明: この問合せでは、format_timestamp関数の引数としてestimatedArrivalフィールド、patternおよびtimezoneのフルネームを指定して、timestamp文字列を指定された"MMM dd, yyyy HH:mm:ss"パターンに変換します。

ノート:

pattern引数内の文字'O'はZoneOffsetを表し、結果の文字列にグリニッジ/UTCとの差の時間量を出力します。
出力:
{"estimatedArrival":"2019-02-03T06:00:00Z","FormattedTimestamp":"Feb 02, 2019 22:00:00 GMT-8"}

例2:-指定されたstringを、ゾーン・オフセットを含む指定されたpatternで解析してタイムスタンプに変換。

SELECT format_timestamp(parse_to_timestamp('2024/02/12 18:30:54 GMT+02:00', "yyyy/dd/MM HH:mm:ss OOOO"),"yyyy-MM-dd HH:mm:ss OOOO","GMT+02:00")AS TIMESTAMP
FROM BaggageInfo
WHERE ticketNo=1762390789239

説明: この問合せでは、string引数にTimeZoneID、GMT+02:00があるため、pattern引数にはゾーン記号またはZoneOffsetを含める必要があります。format_timestamp関数にラップすると、出力タイムスタンプがGMT+02:00タイムゾーンで表示されます。

出力:
{"TIMESTAMP":"2024-12-02 18:30:54 GMT+02:00"}

例3: 加入者の場合、アカウント・サブスクリプションの有効期限が切れる月の最終日を出力。

SELECT sa.acct_id, to_last_day_of_month(sa.account_expiry) AS lastday FROM stream_acct sa WHERE profile_name="DM"
出力:
{"acct_id":4,"lastday":"2024-03-31T00:00:00Z"}