Aller au contenu

TO_TIMESTAMP convertit une expression en date avec heure (timestamp/datetime).

La fonction accepte un ou deux arguments. Avec un seul argument, elle extrait une date de la chaîne. Si l’argument est un entier, la fonction l’interprète comme un nombre de secondes, de millisecondes ou de microsecondes avant (nombre négatif) ou après (nombre positif) l’epoch Unix (minuit le 1er janvier 1970) :

  • Si l’entier est inférieur à 31 536 000 000, il est traité comme des secondes.
  • Si l’entier est supérieur ou égal à 31 536 000 000 et inférieur à 31 536 000 000 000, il est traité comme des millisecondes.
  • Si l’entier est supérieur ou égal à 31 536 000 000 000, il est traité comme des microsecondes.

Avec deux arguments, la fonction convertit la première chaîne en timestamp selon le format indiqué dans la seconde chaîne. Pour personnaliser le format de la date et de l’heure dans PlaidCloud Lakehouse, vous pouvez utiliser des spécificateurs, qui permettent de définir le format souhaité pour les valeurs de date et d’heure. Pour obtenir la liste complète des spécificateurs pris en charge, consultez Formatting Date and Time.

  • Le timestamp en sortie reflète le fuseau horaire de votre PlaidCloud Lakehouse.
  • Les informations de fuseau horaire doivent figurer dans la chaîne à convertir ; sinon, NULL est renvoyé.

Les formats de date sont exprimés selon la spécification strftime. Consultez le guide de référence rapide.

Voir aussi : 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>)

Renvoie un timestamp au format « YYYY-MM-DD hh:mm:ss.ffffff ». Si la chaîne fournie respecte ce format mais n’a pas de partie heure, elle est automatiquement complétée selon ce modèle. La valeur de remplissage est 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