データ型書式設定関数PostgreSQLの書式設定関数は多彩なデータ型(日付/時刻データ型、整数データ型、浮動小数点数データ型、数値データ型)を整形された文字列に変換したり、整形された文字列を特定のデータ型に変換する強力なツールの一式を提供しています。表9-20にこれらを列挙しています。これら関数は共通の呼び出し規約を踏襲しています。最初の引数は整形される値で2番目の引数は入力書式または出力書式を定義するテンプレートです。precision引数を取ることもできます。precisionにキャストされます。to_timestamp(200120400)(to_char用)出力テンプレート文字列には、それが認識され、整形される値から適切に整形されたデータで置き換えられるパターンがあります。テンプレートパターンではない全てのテキストは単にそのままコピーされます。同様に、(to_char以外用)入力テンプレート文字列では、テンプレートパターンは入力されたデータ文字列の探し出される部分と、そこで見つけ出される値を特定します。表9-21に、日付/時刻型の値の書式に使用可能なテンプレートパターンを示します。大文字小文字混在した短縮形の月名(英語では3文字。小文字での短縮形の月名(英語では3文字。短縮形の大文字での短縮形の曜日名(英語では3文字。短縮形の大文字小文字混在した短縮形の曜日名(英語では3文字。小文字での短縮形の曜日名(英語では3文字。時間帯名(小文字)ある種の修飾子はどのようなテンプレートパターンに対しても、その振舞いを変更するために適用することができます。FMMonthはFM修飾子の付いたMonthパターンです。表9-22に、日付/時刻書式の修飾子パターンを示します。翻訳モード(lc_messagesに基付き、翻訳された日付、付を表示します。DDSP日付/時刻型書式の使用上の注意事項は次のとおりです。FMはパターンの出力を固定長にするため、先頭にはゼロ、末尾には空白を追加してしまう機能を無効にします。TMには末尾の空白は含まれません。FXオプションがテンプレートが使用されていない場合には、to_timestampとto_dateは入力文字列の複数の空白スペースを無視します。FXはテンプレートの第1項目として指定される必要があります。MON')はエラーを返します。to_charテンプレートでは、通常のテキストが許され、そのまま出力されます。部分文字列を二重引用符で括ることで、部分文字列にパターン用のキーワードがあったとしても、強制的にリテラルテキストとして解釈させることができます。"YYYY'ではYYYYは年データに置換されてしまいますが、Year内のYは置換されません。Month\\"'のようにその前にバックスラッシュを付けなければなりません(エスケープ文字列構文を使用する場合、バックスラッシュは既に特別な意味を持つため、2つのバックスラッシュが必要です)。文字列をtimestamp型もしくはdate型にするYYYY変換は、年の値として4桁以上の数字を使用していると制限が加えられます。このような場合、数字以外の文字またはYYYYの後にテンプレートを使わなければなりません。しないと年は常に4桁と解釈されます。'YYYYMonDD')のように数字でない区切り符号の使用をお勧めします。文字列からtimestampもしくはdateへの変換において、YYY、YYYY、もしくはY,YYYフィールドが存在するとCCフィールドは無視されます。CCがYYもしくはYと共に使用されると、年は(CC-1)*100+YYのように計算されます。ISO週番号と週の曜日番号(グレゴリオ暦の日付とは異なって)はto_timestampとto_dateの2つの方法のうちのひとつで指定できます。'IYYY-IW-ID')の年、通年の週番号、週の曜日番号はは、日付2006-10-19を返します。曜日番号を省略した場合、1(月曜日)と想定されます。'IYYY-IDDD')の年と通年の日付番号は、同様2006-10-19を返します。ISO週番号とグレゴリアン暦日のフィールドを混在して使用して日付を構築する試みは無意味なことで、予想の付かない結果をもたらします。ISO年の文脈によると、「月」あるいは「月中日付番号」は意味を持ちません。グレゴリオ暦の年の文脈では、ISO週番号は意味を持ちません。グレゴリアンとISOの日付の仕様を分離して使用するよう注意してください。文字列型からtimestamp型への変換に際し、ミリ秒MSおよびマイクロ秒USの値は小数点の位置の後の秒の部分として使用されます。'SS:MS')は3ミリ秒ではなく300ミリ秒です。0.3と計算されるからです。いうことは、SS:MS書式に対して入力値である12:3、12:30、および12:300は同じミリ秒数を指定します。3ミリ秒数が必要な場合には12:003のようにしなければなりません。12.003秒と計算します。2.021230秒です。...)の曜日番号付けにマッチしません。HH12のようにフォーマットします。表9-23に、数値型の値の書式設定に使用可能なテンプレートパターンを示します。科学技術表記法(未実装)数値型書式の使用上の注意事項は次のとおりです。SG、PL、またはMIで整形された符号は、数値と関連付けられません。Oracleの実装では9に先行してMIが置かれてはならず、9の後にMIが置かれることを要求しています。9は9が並んでいる数と同じ桁数の値を出力します。桁が使用可能でない場合、スペースを出力します。THはゼロ未満の値と小数は変換しませんPL、SG、およびTHはPostgreSQLの拡張です。Vは入力値を有効に10^n乗します。ここでnはVに続く桁数です。表9-24に、to_char関数を使用した例をいくつか示します。日付/時刻関数と演算子アダルトレンタルサーバ。