Ir al contenido

TO_TIMESTAMP convierte una expresión en una fecha con hora (marca de tiempo/datetime).

La función acepta uno o dos argumentos. Si recibe un argumento, extrae una fecha de la cadena. Si el argumento es un entero, la función lo interpreta como el número de segundos, milisegundos o microsegundos anteriores (si es negativo) o posteriores (si es positivo) a la época Unix (medianoche del 1 de enero de 1970):

  • Si el entero es menor que 31,536,000,000, se trata como segundos.
  • Si el entero es mayor o igual que 31,536,000,000 y menor que 31,536,000,000,000, se trata como milisegundos.
  • Si el entero es mayor o igual que 31,536,000,000,000, se trata como microsegundos.

Si recibe dos argumentos, la función convierte la primera cadena en una marca de tiempo según el formato especificado en la segunda cadena. Para personalizar el formato de fecha y hora en PlaidCloud Lakehouse, puede utilizar especificadores. Estos especificadores le permiten definir el formato deseado para los valores de fecha y hora. Para obtener una lista completa de los especificadores admitidos, consulte Formatting Date and Time.

  • La marca de tiempo de salida refleja la zona horaria de su PlaidCloud Lakehouse.
  • La información de zona horaria debe estar incluida en la cadena que desea convertir; de lo contrario, se devuelve NULL.

Los formatos de fecha se expresan con la especificación strftime. Consulte la referencia rápida.

Consulte también: TO_DATE

func.to_timestamp(<expr>)
func.to_timestamp('2022-01-02T03:25:02.868894-07:00')
┌────────────────────────────────────────────────────────────────┐
│ func.to_timestamp('2022-01-02T03:25:02.868894-07:00') │
│ Timestamp │
├────────────────────────────────────────────────────────────────┤
│ 2022-01-02 10:25:02.868894 │
└────────────────────────────────────────────────────────────────┘
-- Convert a string or integer to a timestamp
TO_TIMESTAMP(<expr>)
-- Convert a string to a timestamp using the given pattern
TO_TIMESTAMP(<expr, expr>)

Devuelve una marca de tiempo con el formato “YYYY-MM-DD hh:mm:ss.ffffff”. Si la cadena dada coincide con este formato pero no tiene la parte de hora, se extiende automáticamente a este patrón. El valor de relleno es 0.

SELECT TO_TIMESTAMP('2022-01-02T03:25:02.868894-07:00');
---
2022-01-02 10:25:02.868894
SELECT TO_TIMESTAMP('2022-01-02 02:00:11');
---
2022-01-02 02:00:11.000000
SELECT TO_TIMESTAMP('2022-01-02T02:00:22');
---
2022-01-02 02:00:22.000000
SELECT TO_TIMESTAMP('2022-01-02T01:12:00-07:00');
---
2022-01-02 08:12:00.000000
SELECT TO_TIMESTAMP('2022-01-02T01');
---
2022-01-02 01:00:00.000000
SELECT TO_TIMESTAMP(1);
---
1970-01-01 00:00:01.000000
SELECT TO_TIMESTAMP(-1);
---
1969-12-31 23:59:59.000000
SET GLOBAL timezone ='Japan';
SELECT TO_TIMESTAMP('2022 年 2 月 4 日、8 時 58 分 59 秒、タイムゾーン:+0900', '%Y年%m月%d日、%H時%M分%S秒、タイムゾーン:%z');
---
2022-02-04 08:58:59.000000
SET GLOBAL timezone ='America/Toronto';
SELECT TO_TIMESTAMP('2022 年 2 月 4 日、8 時 58 分 59 秒、タイムゾーン:+0900', '%Y年%m月%d日、%H時%M分%S秒、タイムゾーン:%z');
---
2022-02-03 18:58:59.000000