FROM_TZ函數(shù)可以將傳入的時(shí)間戳和時(shí)區(qū)信息轉(zhuǎn)換成當(dāng)前數(shù)據(jù)庫(kù)所在時(shí)區(qū)的時(shí)間。

您需要安裝polar_from_tz插件才能使用FROM_TZ函數(shù),安裝命令如下:

CREATE EXTENSION polar_from_tz;

語(yǔ)法

from_tz(timestamp_value, time_zone_value)

參數(shù)

參數(shù) 說(shuō)明
timestamp_value 時(shí)間戳,例如2020-11-26 08:00:00。
time_zone_value 時(shí)區(qū),支持如下幾種格式的字符串:
  • 'TZH:TZM'格式,例如'+08:00'。
  • TZR格式,例如America/Los_Angeles
    說(shuō)明 您可通過(guò)以下語(yǔ)句查詢支持的時(shí)區(qū)值:
    select * from pg_timezone_names;
  • TZD格式,例如PST
    說(shuō)明 您可通過(guò)以下語(yǔ)句查詢支持的時(shí)區(qū)值:
    select * from pg_timezone_abbrevs;

示例

  • 當(dāng)time_zone_value的值為'TZH:TZM'格式時(shí),查詢語(yǔ)句如下:
    select from_tz('2020-11-26 08:00:00','+08:00') FROM dual;

    查詢結(jié)果如下:

    "2020-11-26 00:00:00+00"
  • 當(dāng)time_zone_value的值為TZR格式時(shí),查詢語(yǔ)句如下:
    select from_tz('2020-11-26 08:00:00','America/Los_Angeles') FROM dual;

    查詢結(jié)果如下:

    "2020-11-26 16:00:00+00"
  • 當(dāng)time_zone_value的值為TZD格式時(shí),查詢語(yǔ)句如下:
    select from_tz('2020-11-26 08:00:00','PST') FROM dual;

    查詢結(jié)果如下:

    "2020-11-26 16:00:00+00"