Introduzione ai tipi di dati data e ora

Analisi delle serie temporali in PostgreSQL

Jasmin Ludolf

Content Developer, DataCamp

Tipi di dati data e ora

  • Tipi di dati: Date, Time, DateTime

In PostgreSQL:

  • DATE: solo la data
  • TIME: ora senza fuso orario
  • TIMESTAMP: data e ora senza fuso orario
  • TIMESTAMPTZ: TIMESTAMP con fuso orario
  • INTERVAL: tempo tra due istanti

Illustrazione di un calendario e di un orologio.

Analisi delle serie temporali in PostgreSQL

Valori di data e ora

  • DATE: YYYY-MM-DD (standard internazionale ISO 8601)
  • TIME: HH:MM:SS (secondi decimali; orologio 12h o 24h)
  • TIMESTAMP: YYYY-MM-DD HH:MM:SS
  • TIMESTAMPTZ: YYYY-MM-DD HH:MM:SS+/-HH (+01:00 o CET)
  • INTERVAL: esempio input 1 02:30:04
    • Intervallo di 1 giorno, 2 ore, 30 minuti, 4 secondi
Analisi delle serie temporali in PostgreSQL

Date e ore in una tabella

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');
Analisi delle serie temporali in PostgreSQL

Date e ore in una tabella

 

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  |
Analisi delle serie temporali in PostgreSQL

Dati parziali o errati

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            |
Analisi delle serie temporali in PostgreSQL

Dati parziali o errati

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            |
Analisi delle serie temporali in PostgreSQL

Tempo Unix

  • Unix time: secondi dall'epoca Unix
  • Epoca Unix: 1 gennaio 1970 00:00:00, UTC
|unix_time |
|----------|
|1483444800|

È il 3 gennaio 2017!

Analisi delle serie temporali in PostgreSQL

Alleniamoci!

Analisi delle serie temporali in PostgreSQL

Preparing Video For Download...