Função TO_TIMESTAMP - Amazon Redshift

Função TO_TIMESTAMP

TO_TIMESTAMP converte uma string de TIMESTAMP em TIMESTAMPTZ. Para obter uma lista de funções adicionais de data e hora para o Amazon Redshift, consulte Perfis de data e hora.

Sintaxe

to_timestamp(timestamp, format)
to_timestamp (timestamp, format, is_strict)

Argumentos

timestamp

Uma string que representa um valor de timestamp no formato especificado por format. Se esse argumento for deixado vazio, o valor padrão de timestamp será 0001-01-01 00:00:00.

format

Um literal de string que define o formato do valor de timestamp. Formatos que incluem um fuso horário (TZ, tz ou OF) não têm suporte como entrada. Para os formatos de timestamp válidos, consulte Strings de formato datetime.

is_strict

Um valor booleano opcional que especifica se um erro será retornado se um valor de timestamp de entrada estiver fora do intervalo. Quando is_strict for definido como TRUE, um erro será retornado se houver um valor fora do intervalo. Quando is_strict estiver definido como FALSE, que é o padrão, então os valores de estouro são aceitos.

Tipo de retorno

TIMESTAMPTZ

Exemplos

O exemplo a seguir mostra como usar a função TO_TIMESTAMP para converter uma string TIMESTAMP em TIMESTAMPTZ.

select sysdate, to_timestamp(sysdate, 'YYYY-MM-DD HH24:MI:SS') as second; timestamp | second -------------------------- ---------------------- 2021-04-05 19:27:53.281812 | 2021-04-05 19:27:53+00

É possível enviar parte de uma data com TO_TIMESTAMP. As partes restantes da data são definidas como valores padrão. A hora é incluída na saída:

SELECT TO_TIMESTAMP('2017','YYYY'); to_timestamp -------------------------- 2017-01-01 00:00:00+00

A seguinte instrução SQL converte a string “2011-12-18 24:38:15” para um TIMESTAMPTZ. O resultado é um TIMESTAMPTZ que cai no dia seguinte porque o número de horas é superior a 24 horas:

SELECT TO_TIMESTAMP('2011-12-18 24:38:15', 'YYYY-MM-DD HH24:MI:SS'); to_timestamp ---------------------- 2011-12-19 00:38:15+00

A seguinte instrução SQL converte a string “2011-12-18 24:38:15” para um TIMESTAMPTZ. O resultado é um erro porque o valor de hora no timestamp é superior a 24 horas:

SELECT TO_TIMESTAMP('2011-12-18 24:38:15', 'YYYY-MM-DD HH24:MI:SS', TRUE); ERROR: date/time field time value out of range: 24:38:15.0