Introduction aux types de données de date et d'heure

Analyse de séries chronologiques dans PostgreSQL

Jasmin Ludolf

Content Developer, DataCamp

Types de données de date et d'heure

  • Types Date, Time, DateTime

Dans PostgreSQL :

  • DATE : uniquement la date
  • TIME : heure sans fuseau horaire
  • TIMESTAMP : date et heure sans fuseau horaire
  • TIMESTAMPTZ : TIMESTAMP avec fuseau horaire
  • INTERVAL : durée entre deux instants

Illustration d'un calendrier et d'une horloge.

Analyse de séries chronologiques dans PostgreSQL

Valeurs de date et d'heure

  • DATE : YYYY-MM-DD (norme internationale ISO 8601)
  • TIME : HH:MM:SS (secondes décimales possibles, horloge 12 h ou 24 h)
  • TIMESTAMP : YYYY-MM-DD HH:MM:SS
  • TIMESTAMPTZ : YYYY-MM-DD HH:MM:SS+/-HH (+01:00 ou CET)
  • INTERVAL : exemple d'entrée : 1 02:30:04
    • Intervalle de 1 jour, 2 heures, 30 minutes, 4 secondes
Analyse de séries chronologiques dans PostgreSQL

Dates et heures dans une table

CREATE TABLE timetable (
    date_info DATE,

time_info TIMESTAMP,
time_with_zone TIMESTAMPTZ,
interval_length INTERVAL);
INSERT INTO timetable(
    date_info,

time_info,
time_with_zone,
interval_length)
VALUES ( 'January 23 2013',
'2023-01-20 18:00:00',
'2023-01-20 18:00:00 EST',
'1 02:03:04');
Analyse de séries chronologiques dans PostgreSQL

Dates et heures dans une table

 

SELECT *
FROM timetable;

 

| date_info  | time_info           | time_with_zone            | interval_length |
| ---------- | ------------------- | ------------------------- | --------------- |
| 2023-01-20 | 2023-01-20 18:00:00 | 2023-01-20 00:00:00+01:00 | 1 day, 2:03:04  |
Analyse de séries chronologiques dans PostgreSQL

Données partielles ou incorrectes

INSERT INTO timetable(time_info)
VALUES ('2020-02-20 12:00:00');
SELECT *
FROM timetable;
| date_info  | time_info           | time_with_zone            | interval_length |
| ---------- | ------------------- | ------------------------- | --------------- |
| 2023-01-20 | 2023-01-20 18:00:00 | 2023-01-20 00:00:00+01:00 | 1 day, 2:03:04  |
| null.      | 2020-02-20 12:00:00 | null                      | null            |
Analyse de séries chronologiques dans PostgreSQL

Données partielles ou incorrectes

INSERT INTO timetable(time_info)
VALUES ('2020-02-20 02:00:00 EST');
SELECT *
FROM timetable;
| date_info  | time_info           | time_with_zone            | interval_length |
| ---------- | ------------------- | ------------------------- | --------------- |
| 2023-01-20 | 2023-01-20 18:00:00 | 2023-01-20 00:00:00+01:00 | 1 day, 2:03:04  |
| null.      | 2020-02-20 02:00:00 | null                      | null            |
Analyse de séries chronologiques dans PostgreSQL

Unix time

  • Unix time : secondes depuis l'époque Unix
  • Unix epoch : 1er janvier 1970 00:00:00, UTC
|unix_time |
|----------|
|1483444800|

C'est le 3 janvier 2017 !

Analyse de séries chronologiques dans PostgreSQL

Passons à la pratique !

Analyse de séries chronologiques dans PostgreSQL

Preparing Video For Download...