Introduktion till datatyperna datum och tid

Tidsserieanalys i PostgreSQL

Jasmin Ludolf

Content Developer, DataCamp

Datatyperna datum och tid

  • Date, Time, DateTime – datatyper

I PostgreSQL:

  • DATE : enbart datum
  • TIME : tid utan tidszon
  • TIMESTAMP : datum och tid utan tidszon
  • TIMESTAMPTZ : TIMESTAMP med tidszon
  • INTERVAL : tid mellan två tidpunkter

Illustration av en kalender och en urtavla.

Tidsserieanalys i PostgreSQL

Datum- och tidsvärden

  • DATE : YYYY-MM-DD (ISO 8601, internationell standard)
  • TIME : HH:MM:SS (sekunder kan vara decimaler, 12- eller 24-timmarsformat)
  • TIMESTAMP : YYYY-MM-DD HH:MM:SS
  • TIMESTAMPTZ : YYYY-MM-DD HH:MM:SS+/-HH (+01:00 eller CET)
  • INTERVAL : ett exempel på indata är 1 02:30:04
    • Intervall på 1 dag, 2 timmar, 30 minuter, 4 sekunder
Tidsserieanalys i PostgreSQL

Datum och tid i en tabell

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');
Tidsserieanalys i PostgreSQL

Datum och tid i en tabell

 

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  |
Tidsserieanalys i PostgreSQL

Ofullständiga eller felaktiga 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            |
Tidsserieanalys i PostgreSQL

Ofullständiga eller felaktiga 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            |
Tidsserieanalys i PostgreSQL

Unix-tid

  • Unix-tid : sekunder sedan Unix-epoken
  • Unix-epoken : 1 januari 1970 00:00:00, UTC
|unix_time |
|----------|
|1483444800|

Det motsvarar 3 januari 2017!

Tidsserieanalys i PostgreSQL

Nu kör vi en övning!

Tidsserieanalys i PostgreSQL

Preparing Video For Download...