EQLには、異なるタイムゾーンの対応するタイムスタンプを取得する2つの関数が用意されています。
TO_TZ
。 GMTのタイムスタンプを取得し、GMTで指定したタイム・ゾーンのGMTオフセットをルックアップし、そのオフセットで調整されたタイムスタンプを返します。 指定されたタイム・ゾーンが存在しない場合、結果はNULLになります。
たとえば、TO_TZ(dateTime,'America/New_York')
は、クエリーがGMTでdateTime
であった場合にAmerica/New_Yorkで何回行われたかという質問に答えます。
FROM_TZ
。 指定されたタイムゾーンでタイムスタンプを取得し、その時間に指定されたタイムゾーンのGMTオフセットを参照し、そのオフセットで調整されたタイムスタンプを返します。 指定されたタイム・ゾーンが存在しない場合、結果はNULLになります。
たとえば、FROM_TZ(dateTime,'EST')
では、ESTでdateTime
であった場合にGMTであった時間はどのようなものですかという質問に答えます。
式 | 結果 |
---|---|
TO_TZ(TO_DATETIME('2016-07-05T16:00:00.000Z'), 'America/New_York')
|
2016-07-05T12:00:00.000Z |
TO_TZ(TO_DATETIME('2016-01-05T16:00:00.000Z'), 'America/New_York')
|
2016-01-05T11:00:00.000Z |
FROM_TZ(TO_DATETIME('2016-07-05T16:00:00.000Z'), 'America/Los_Angeles')
|
2016-07-05T23:00:00.000Z |
FROM_TZ(TO_DATETIME('2016-01-05T16:00:00.000Z'), 'America/Los_Angeles')
|
2016-01-06T00:00:00.000Z |