日付/時刻データ型

広告

ここでは日付/時刻データ型について確認していきます。使用可能な型は下記の通りです。

型名サイズ説明別名
timestamp [(p)] [without time zone]8 バイト日付と時刻両方 
timestamp [(p)] with time zone8 バイト日付と時刻両方、タイムゾーン付きtimestamptz
interval [(p)]12 バイト時間間隔 
date4 バイト日付 
time [(p)] [without time zone]8 バイト時刻 
time [(p)] with time zone12 バイト時刻、タイムゾーン付きtimetz

time型やtimestamp型の省略可能な引数(p)は、秒の小数点以下の精度の指定です。指定する場合は0から6程度のようです。

日付や時刻の入力は、様々なフォーマットで可能なようですが、どう判断されるか曖昧な場合はDateStyleによって決まります。DateStyleとは例えば日付が年月日の順で記述されているのか月日年という順で記述されているのかなどを指定するものです。下記ではどのDataStyleであっても正しく解釈されるフォーマットのみを取りあえずみておきます。

日付の入力方法は下記のようなものがあります。

January 8, 1999
1999-01-08
1999-Jan-08
Jan-08-1999
08-Jan-1999
19990108
990108
1999.008      ※年とその日までの累計

時刻の入力方法は下記のようなものがあります。

04:05:06.789
04:05:06
04:05
040506
04:05 AM     ※ = 04:05
04:05 PM     ※ = 16:05

時間帯も含んだ時刻の入力方法は下記のようなものがあります。

04:05:06 PST
04:05:06+09:00
04:05:06+0900
04:05:06+09

※日本標準時間の場合は「+09:00」です。

日付入力時の月名で使用できる値は下記の通りです。(正式形と省略形です)。

January     Jan         ※ 1月
February    Feb         ※ 2月
March       Mar         ※ 3月
April       Apr         ※ 4月
May                     ※ 5月
June        Jun         ※ 6月
July        Jul         ※ 7月
August      Aug         ※ 8月
September   Sep、Sept   ※ 9月
October     Oct         ※10月
November    Nov         ※11月
December    Dec         ※12月

日付や時刻はシングルクォーテーションで囲んで記述します。各型の場合の入力例は下記のような感じです。

timestamp                     '2004-10-19 10:23:54'
timestamp with time zone      '2004-10-19 10:23:54+09'
date                          '2004-10-19'
time                          '10:23:54'
time with time zone           '10:23:54+09'

時間間隔型のinterval型については何に使うのか良く分かっていないので、取りあえずパスします。

PostgreSQLの使い方の他の記事を見てみる

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)