日付/時刻データ型PostgreSQLでは、表8-9に示されているSQLの日付と時刻データ型の全てがサポートされています。これらのデータ型で利用できる演算子については項9.9で説明します。zoneと同じでした。これは、SQL互換性のために変更されました。time、timestamp、およびintervalは秒フィールドに保有されている小数点以下の桁数を指定するオプションの精度値であるpを受け付けます。デフォルトでは、明示的な精度に対する限界はありません。pの許容範囲は、timestamp型とinterval型の場合は0から6です。して保存されている場合(現在のデフォルトです)、有効な精度は6より小さいかもしれません。timestampの値は2000-01-01深夜を基準にした経過秒数として格納されます。マイクロ秒の精度は、2000-01-01から2、3年以内の日付では達成されていますが、その精度は日付が(2000-01-01から)離れるにつれて悪化します。timestampの値が8バイト整数(コンパイル時にオプション指定)として格納される時にはマイクロ秒の精度は全ての範囲の値に関して有効です。ADまでとなってしまいます。同じコンパイルオプションで、timeおよびinterval値を浮動小数点数として格納するか8バイト整数として格納するかも決まります。浮動小数点数の場合、大きなintervalでは間隔が増加する際に精度が落ちます。time型で8バイト整数が使用された場合には、pは0から6までの範囲で使用可能です。浮動小数点が使用される場合には0から10までが使用可能です。zoneは標準SQLで定義されていますが、その定義は、その有用性を疑問視することになりかねない特性を示しています。zoneの組み合わせで、全てのアプリケーションで要求される日付/時刻機能全てを提供しているはずです。abstimeとreltimeは精度の低いデータ型で、内部で使用されています。新しいアプリケーションにはこれらの型の使用を避け、また適当な時に古いアプリケーションも更新してください。これらの内部用の型の一部または全てが今後のリリースでは削除される可能性があります。8601、SQL互換、伝統的なPOSTGRES、その他を含むほとんどの適正とみなされる書式を受け付けます。日付の入力における月と日の順序のようないずれとも解釈されるいくつかの書式については、それらのフィールドを好きな順序に指定できるようになっています。DateStyleパラメータをMDYに設定すれば、月日年という順で解釈され、DMYに設定すれば日月年という順で、YMDに設定すれば年月日という順で解釈されます。PostgreSQLは日付/時刻の運用において標準SQLの要求よりも柔軟です。日付/時刻の入力における正確な構文解析規則と、月および週、そして時間帯を含む使用可能なテキストフィールドに関しては付録Bを参照してください。テキスト文字列のように、日付や時刻リテラルは単一引用符で囲む必要があることを思い出してください。詳細は項4.1.2.5を参照してください。SQLでは下記の構文が必要です。'value'ここで、オプションの精度の指定pは秒フィールドの小数点以下の桁数に対応する整数です。精度はtime、timestamp、およびinterval型に対して設定できます。値の許容範囲は既に説明しています。定数指定において精度指定がない場合は、デフォルトのリテラル値の精度になります。表8-10はdate型で入力可能なものの一部を示します。全てのdatestyle入力モードにおいて曖昧さがありません。全てのモードで1月8日になります(推奨書式)。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日になります。