Les dates

SQL prévoit plusieurs types de dates. PostgreSQL les implémente en rejoutant quelques extensions :

  • timestamp

  • timestamptz avec timezone (postgres)

  • date

  • time

  • interval

Quelques expérimentations :

                           ^
=> select now();

=> select timestamp '2017-01-03 04:05:06';

=> select timestamptz '2017-01-03 04:05:06';

=> select interval '1 h';

=> select interval '1 month';

=> select now() + interval '1 month';

=> select now() - '2017-01-03 04:05:06';

Un intervalle est la différence entre deux timestamps. De même, on peut ajouter un intervalle à un timestamp.

  • Créez une table avec des champs de type timestamp et timestamptz

  • Insérez des valeurs dans cette table

  • regardez comment les résultats des opérations de lecture et d’insertion sont influencés par des commandes du type

SET TIMEZONE TO 'Europe/Paris' ou SET TIMEZONE TO 'America/New_York'