format_timestamp関数
format_timestamp
関数は、指定されたパターンおよびタイムゾーンに従ってタイムスタンプを文字列に変換します。
構文:
STRING format_timestamp(<timestamp>,[pattern [, timezone])
セマンティクス:
- timestamp:
timestamp
引数は、TIMESTAMP値またはTIMESTAMP型にキャストできる値を取ります。 - pattern:
pattern
引数はオプションで、STRINGデータ型を入力として使用します。タイムゾーン記号'z'、'zz'、'zzz'および'v'を除く、Java DateTimeFormatterクラスのすべてのパターン記号をサポートします。サポートされるタイムゾーン記号の詳細は、次の表を参照してください。記号 意味 表現 例 V タイムゾーンID ゾーンID America/Los_Angeles; Z; -08:30 O ローカライズされたゾーンオフセット オフセット-O GMT+8; GMT+08:00; UTC-08:00 X ゼロのゾーンオフセット'Z' オフセット-X Z; -08; -0830; -08:30; -083015; -08:30:15 x ゾーンオフセット オフセット-x +0000; -08; -0830; -08:30; -083015; -08:30:15 Z ゾーンオフセット オフセット-Z +0000; -0800; -08:00 ノート:
デフォルトのパターンはISO-8601形式です: yyyy-MM-dd'T'HH:mm:ss[.S..S]。 - timezone:
timezone
引数はオプションで、STRINGデータ型を入力として使用します。timezone
引数は、TimeZoneID (特定のタイムゾーンを表す識別子)を使用します。たとえば、"Asia/Calcutta"などの明確に定義された名前、または"GMT-08:00"などのカスタムIDを使用します。詳細は、TimeZoneIDのリストを参照してください。デフォルトはUTCです。ノート:
UTCおよびGMTを除き、タイムゾーンには略語ではなく、明確に定義された名前(PST、ISTなど)を使用します。 - 戻り値:
STRING
この関数は、次の場合にNULLを返します。
timestamp, pattern,
またはtimezone
引数がNULLに設定されている場合。- 入力
timestamp
がTIMESTAMP型にキャスト可能でない場合。
例12-18 特定のチケット番号を持つ乗客の場合、入力された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"}
例12-19 書式設定されたタイムスタンプの表示。
SELECT format_timestamp('2024-05-08T09:41:00',"dd MMM, uuuu HH:mm:ss","Asia/Calcutta") AS TIMESTAMP1
FROM BaggageInfo
WHERE ticketNo=1762399766476
説明:この問合せでは、format_timestamp
関数を使用して、指定されたpattern
内の指定されたtimestamp
を出力します。書式設定中、関数はtimestamp
を"Asia/Calcutta"タイムゾーンに調整し、結果のタイムスタンプを"dd MMM, uuuu HH:mm:ss"パターンで表示します。
出力:
{"TIMESTAMP1":"08 May, 2024 15:11:00"}