PostgreSQL 的時間序列分析
Jasmin Ludolf
Content Developer, DataCamp
在 PostgreSQL 中:
DATE:只有日期TIME:不含時區的時間TIMESTAMP:日期加時間,不含時區TIMESTAMPTZ:含時區的 TIMESTAMPINTERVAL:兩個時間點之間的長度
DATE:YYYY-MM-DD(ISO 8601 國際標準)TIME:HH:MM:SS(秒可含小數,12 或 24 小時制)TIMESTAMP:YYYY-MM-DD HH:MM:SSTIMESTAMPTZ:YYYY-MM-DD HH:MM:SS+/-HH(如 +01:00 或 CET)INTERVAL:輸入範例為 1 02:30:04CREATE 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');
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 |
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 |
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 |
|unix_time |
|----------|
|1483444800|
也就是 2017 年 1 月 3 日!
PostgreSQL 的時間序列分析