タイムスタンプ・フォーマット関数
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"}