Función TO_TIMESTAMP - Amazon Redshift

Función TO_TIMESTAMP

TO_TIMESTAMP convierte una cadena TIMESTAMP en TIMESTAMPTZ. Para obtener una lista de las funciones de fecha y hora adicionales de Amazon Redshift, consulte Funciones de fecha y hora.

Sintaxis

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

Argumentos

timestamp

Una cadena que representa un valor de marca temporal en el formato especificado por format. Si este argumento se deja vacío, el valor predeterminado de la marca de tiempo es 0001-01-01 00:00:00.

formato

Un literal de cadena que define el formato del valor de timestamp. Los formatos que incluyen una zona horaria (TZ, tz u OF) no son compatibles como entrada. Para obtener los formatos de marca temporal válidos, consulte Cadenas de formatos de fecha y hora.

is_strict

Un valor booleano opcional que especifica si se devuelve un error si un valor de marca temporal de entrada se encuentra fuera de rango. Cuando is_strict se configura como TRUE, se devuelve un error si hay un valor fuera de rango. Si is_strict se configura como FALSE, que es el valor predeterminado, se aceptan valores de desbordamiento.

Tipo de retorno

TIMESTAMPTZ

Ejemplos

En el siguiente ejemplo, se muestra cómo se usa la función TO_TIMESTAMP para convertir una cadena TIMESTAMP en 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

Es posible pasar a TO_TIMESTAMP parte de una fecha. Las partes de fecha restantes se establecen a los valores predeterminados. La hora se incluye en el resultado:

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

La siguiente instrucción SQL convierte la cadena “2011-12-18 24:38:15” en un valor TIMESTAMPTZ. El resultado es un valor TIMESTAMPTZ que se establece al día siguiente porque el número de horas es 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

La siguiente instrucción SQL convierte la cadena “2011-12-18 24:38:15” en un valor TIMESTAMPTZ. El resultado es un error porque el valor de tiempo en la marca de tiempo es 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