Função AT TIME ZONE - Amazon Redshift

Função AT TIME ZONE

AT TIME ZONE especifica qual fuso horário a usar com uma expressão TIMESTAMP ou TIMESTAMPTZ.

Sintaxe

AT TIME ZONE 'timezone'

Argumentos

timezone

TIMEZONE do valor de retorno. O fuso horário pode ser especificado como um nome de fuso horário (como 'Africa/Kampala' ou 'Singapore') ou como uma abreviação de fuso horário (como 'UTC' ou 'PDT').

Para visualizar uma lista de nomes de fusos horários compatíveis, execute o comando a seguir.

select pg_timezone_names();

Para visualizar uma lista de abreviações de fusos horários compatíveis, execute o comando a seguir.

select pg_timezone_abbrevs();

Para ter mais informações e exemplos, consulte Observações quanto ao uso de fuso horário.

Tipo de retorno

TIMESTAMPTZ quando usado com uma expressão TIMESTAMP. TIMESTAMP quando usado com uma expressão TIMESTAMPTZ.

Exemplos

O exemplo a seguir converte um valor de carimbo de data/hora sem fuso horário e o interpreta como o fuso MST (UTC+7 em POSIX). O exemplo retorna um valor do tipo de dados TIMESTAMPTZ para o fuso horário UTC. Se configurar o fuso horário padrão como um fuso horário diferente de UTC, você poderá ver um resultado diferente.

SELECT TIMESTAMP '2001-02-16 20:38:40' AT TIME ZONE 'MST'; timezone ------------------------ 2001-02-17 03:38:40+00

O exemplo a seguir pega um time stamp de entrada com um valor de fuso horário em que o fuso horário especificado é EST (UTC+5 em POSIX) e o converte para MST (UTC+7 em POSIX). O exemplo retorna um valor do tipo de dados TIMESTAMP.

SELECT TIMESTAMPTZ '2001-02-16 20:38:40-05' AT TIME ZONE 'MST'; timezone ------------------------ 2001-02-16 18:38:40