Introductie tot datum- en tijdtypen

Tijdreeksanalyse in PostgreSQL

Jasmin Ludolf

Content Developer, DataCamp

Datum- en tijdtypen

  • Datatypen Date, Time, DateTime

In PostgreSQL:

  • DATE: alleen datum
  • TIME: tijd zonder tijdzone
  • TIMESTAMP: datum en tijd zonder tijdzone
  • TIMESTAMPTZ: TIMESTAMP met tijdzone
  • INTERVAL: tijd tussen twee punten

Illustratie van een kalender en een klok.

Tijdreeksanalyse in PostgreSQL

Datum- en tijdwaarden

  • DATE: JJJJ-MM-DD (ISO 8601 internationale standaard)
  • TIME: UU:MM:SS (seconden kunnen decimaal; 12- of 24-uursklok)
  • TIMESTAMP: JJJJ-MM-DD UU:MM:SS
  • TIMESTAMPTZ: JJJJ-MM-DD UU:MM:SS+/-UU (+01:00 of CET)
  • INTERVAL: invoorbeeld: 1 02:30:04
    • Interval van 1 dag, 2 uur, 30 min, 4 sec
Tijdreeksanalyse in PostgreSQL

Datum en tijd in een tabel

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');
Tijdreeksanalyse in PostgreSQL

Datum en tijd in een tabel

 

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  |
Tijdreeksanalyse in PostgreSQL

Gedeeltelijke of onjuiste data

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            |
Tijdreeksanalyse in PostgreSQL

Gedeeltelijke of onjuiste data

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            |
Tijdreeksanalyse in PostgreSQL

Unix-tijd

  • Unix-tijd: seconden sinds de Unix-epoch
  • Unix-epoch: 1 januari 1970 00:00:00, UTC
|unix_time |
|----------|
|1483444800|

Dat is 3 januari 2017!

Tijdreeksanalyse in PostgreSQL

Laten we oefenen!

Tijdreeksanalyse in PostgreSQL

Preparing Video For Download...