日付・時刻データ型の概要

PostgreSQLで学ぶ時系列分析

Jasmin Ludolf

Content Developer, DataCamp

日付・時刻データ型

  • データ型:DateTimeDateTime

PostgreSQLでは:

  • DATE:日付のみ
  • TIME:タイムゾーンなしの時刻
  • TIMESTAMP:日付+時刻(タイムゾーンなし)
  • TIMESTAMPTZ:タイムゾーン付きTIMESTAMP
  • INTERVAL:2時点間の時間

カレンダーと時計のイラスト。

PostgreSQLで学ぶ時系列分析

日付・時刻の値

  • DATE:YYYY-MM-DD(ISO 8601 国際標準)
  • TIME:HH:MM:SS(秒は小数可、12/24時間表記)
  • TIMESTAMP:YYYY-MM-DD HH:MM:SS
  • TIMESTAMPTZ:YYYY-MM-DD HH:MM:SS+/-HH(+01:00 もしくは CET)
  • INTERVAL:例 1 02:30:04
    • 1日2時間30分4秒の間隔
PostgreSQLで学ぶ時系列分析

テーブルでの日付・時刻

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');
PostgreSQLで学ぶ時系列分析

テーブルでの日付・時刻

 

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  |
PostgreSQLで学ぶ時系列分析

不完全・不正確なデータ

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            |
PostgreSQLで学ぶ時系列分析

不完全・不正確なデータ

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            |
PostgreSQLで学ぶ時系列分析

Unix時刻

  • Unix time:Unixエポックからの秒数
  • Unix epoch:1970-01-01 00:00:00(UTC)
|unix_time |
|----------|
|1483444800|

これは2017年1月3日です!

PostgreSQLで学ぶ時系列分析

Passons à la pratique !

PostgreSQLで学ぶ時系列分析

Preparing Video For Download...