日付/時刻データ型PostgreSQLでは、表8.9「日付/時刻データ型」に示されているSQLの日付と時刻データ型のすべてがサポートされています。日付/時刻関数と演算子で説明します。単位の歴史参照)、日付はグレゴリオ暦にしたがって計算されます。zoneと同じであることを要求します。PostgreSQLはこれに準じます。zoneはtimestamptzと省略することができますが、これはPostgreSQLの拡張です。time、timestampおよびintervalは秒フィールドに保有されている小数点以下の桁数を指定する精度値pをオプションで受け付けます。デフォルトでは、精度についての明示的な限界はありません。pの許容範囲はtimestamp型とinterval型の場合は0から6です。注記timestampの値が8バイト整数(現在のデフォルト)で格納されていれば、すべての値についてマイクロ秒精度が有効です。(将来のサポートが保証されないコンパイル時のオプション)で格納されていると、有効な精度は6より小さいかもしれません。timestampの値は2000-01-01深夜を基準にした経過秒数として格納されます。timestampの値が浮動小数点数として格納されていれば、2000-01-01から数年の範囲でマイクロ秒精度が得られますが、それより離脱すると精度は劣化します。ADまで)を利用できます。同じコンパイル時オプションはtimeおよびintervalの値が浮動小数点数か、8バイト整数のいずれかによって格納されるかを決定します。浮動小数点の場合、大きなintervalでは間隔が増加する際に精度が落ちます。time型で8バイト整数が使用された場合には、pは0から6までの範囲で使用可能です。浮動小数点が使用される場合には0から10までが使用可能です。intervalデータ型には追加のオプションがあり、以下の1つの語句を使用して格納されるフィールドの集合を制約します。SECONDfieldsおよびpが共に指定されると、精度は秒のみに適用されるので、fieldsはSECONDを含まなければならないことに注意してください。zoneは標準SQLで定義されていますが、その定義は、その有用性を疑問視することになりかねない特性を示しています。zoneの組み合わせで、すべてのアプリケーションで要求される日付/時刻機能すべてを提供しているはずです。abstimeとreltimeは精度の低いデータ型で、内部で使用されます。アプリケーションでこれらの型の使用を避けてください。これら内部型は今後のリリースで削除される可能性があります。8601、SQL互換、伝統的なPOSTGRES、その他を含むほとんどの適正とみなされる書式を受け付けます。一部の書式では日付の入力における日-月-年の順序が曖昧ですが、これらのフィールドの期待される順序を指定する方式が提供されています。DateStyleパラメータをMDYに設定すれば、月日年という順で解釈され、DMYに設定すれば日月年という順で、YMDに設定すれば年月日という順で解釈されます。PostgreSQLは日付/時刻入力の取扱いにおいて標準SQLの要求よりも柔軟です。日付/時刻のサポートを参照してください。日付や時刻リテラルの入力では、テキスト文字列のように、単一引用符で囲む必要があることを思い出してください。他の型の定数を参照してください。SQLでは下記の構文が要求されます。'value'ここで、pは秒フィールドの小数点以下の桁数を与えるオプションの精度の指定です。精度はtime、timestampおよびinterval型に対して設定できます。値の許容範囲は既に説明しています。定数指定において精度指定がない場合は、リテラル値の精度がデフォルトとして使われます。表8.10「日付入力」はdate型で入力可能なものの一部を示します。すべてのモードで1月8日になります(推奨書式)。すべてのdatestyle入力モードにおいて曖昧さがありません。MDYモードでは1月8日、DMYモードでは8月1日。MDYモードでは1月18日、他のモードでは拒絶されます。MDYモードでは2003年1月2日、DMYモードでは2003年2月1日、YMDモードでは2001年2月3日。すべてのモードで1月8日になります。すべてのモードで1月8日になります。すべてのモードで1月8日になります。YMDモードで1月8日、他のモードではエラー。YMDモードではエラー。YMDモードではエラー。すべてのモードで1月8日になります。すべてのモードで1月8日になります。