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
ouOF
) 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