他のバージョンの文書 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9.6 | 9.5 | 9.4 | 9.3 | 9.2 | 9.1 | 9.0 | 8.4 | 8.3 | 8.2 | 8.1 | 8.0 | 7.4 | 7.3 | 7.2

9.8. データ型書式設定関数

PostgreSQL の書式設定関数は多彩なデータ型(日付/時刻データ型、整数データ型、浮動小数点数データ型、数値データ型)を整形された文字列に変換したり、整形された文字列を特定のデータ型に変換する強力なツールの一式を提供しています。 表9-21 にこれらを列挙しています。 これら関数は共通の呼び出し規約を踏襲しています。最初の引数は整形される値で2番目の引数は入力書式または出力書式を定義するテンプレートです。

単一引数の to_timestamp 関数も利用可能です。 これは double precision 型の引数を取り、Unix時刻(1970-01-01 00:00:00+00からの秒数)から timestamp with time zone に変換します。 ( Integer 型のUnix時刻は暗黙的に double precision にキャストされます。)

to_char 用)出力テンプレート文字列には、値に基づいて認識され、適切に整形されたデータで置き換えられるパターンがあります。 テンプレートパターンではない全てのテキストは単にそのままコピーされます。 同様に、(その他の関数に対し)入力テンプレート文字列では、テンプレートパターンは入力されたデータ文字列で供給される値を特定します。

表9-22 に、日付/時刻型の値の書式に使用可能なテンプレートパターンを示します。

表 9-22. 日付/時刻型の書式テンプレートパターン

パターン 説明
HH 時(01〜12)
HH12 時(01〜12)
HH24 時(00〜23)
MI 分(00〜59)
SS 秒(00〜59)
MS ミリ秒(000〜999)
US マイクロ秒(000000〜999999)
SSSS 深夜0時からの秒数(0〜86399)
AM am PM 、または pm 午前/午後の指定(ピリオドなし)
A.M. a.m. P.M. 、または p.m. 午前/午後の指定(ピリオド付き)
Y,YYY 句読点(コンマ)付き年(4桁以上)
YYYY 年(4桁以上)
YYY 年の下3桁
YY 年の下2桁
Y 年の下1桁
IYYY ISO 8601週番号年(4以上の桁)
IYY ISO 8601週番号年の下3桁
IY ISO 8601週番号年の下2桁
I ISO 8601週番号年の下1桁
BC bc AD 、または ad 紀元前後の指定(ピリオドなし)
B.C. b.c. A.D. 、または a.d. 紀元前後の指定(ピリオド付き)
MONTH 大文字での完全な月名(9文字になるように空白でパッド)
Month 大文字で書き始める完全な月名(9文字になるように空白でパッド)
month 小文字での完全な月名(9文字になるように空白でパッド)
MON 大文字での短縮形の月名(英語では3文字、現地語化された場合は可変長)
Mon 大文字で書き始める短縮形の月名(英語では3文字。現地語化された場合は可変長)
mon 小文字での短縮形の月名(英語では3文字。現地語化された場合は可変長)
MM 月番号(01〜12)
DAY 大文字での完全な曜日名(9文字になるように空白でパッド)
Day 大文字で書き始める完全な曜日名(9文字になるように空白でパッド)
day 小文字での完全な曜日名(9文字になるように空白でパッド)
DY 短縮形の大文字での短縮形の曜日名(英語では3文字。現地語化された場合は可変長)
Dy 大文字で書き始める短縮形の曜日名(英語では3文字。現地語化された場合は可変長)
dy 小文字での短縮形の曜日名(英語では3文字。現地語化された場合は可変長)
DDD 通年の日にち番号(001〜366)
IDDD ISO 8601週番号年の日にち番号(001-371:通年 第1日は最初のISO週の月曜日)
DD ひと月通算の日にち番号(01〜31)
D 1週通算の曜日番号、日曜日( 1 )から土曜日( 7 )まで
ID ISO 8601週通算の曜日番号、月曜日( 1 )から日曜日( 7 )まで
W 月中の週番号(1〜5)(その月の初日がある週が第1週)
WW 年間を通じた週番号(1〜53)(元旦のある週が第1週)
IW ISO 8601週番号年の年間を通じた週番号(01 - 53:新年の最初の木曜日がある週が第1週)
CC 世紀(2桁。21世紀は2001-01-01から開始)
J ユリウス日(UTC紀元前4714年11月24日午前零時からの整数による通算経過日)
Q クォータ(四半期 : to_date to_timestamp により無視されます)
RM 大文字ローマ数字による月(I〜XII:I=1月)
rm 小文字ローマ数字による月(i〜xii:i=1月)
TZ 大文字による時間帯名
tz 小文字による時間帯名
OF 時間帯オフセット

修飾子はどのようなテンプレートパターンに対しても、その振舞いを変更するために適用することができます。 例えば、 FMMonth FM 修飾子の付いた Month パターンです。 表9-23 に、日付/時刻書式の修飾子パターンを示します。

日付/時刻型書式の使用上の注意事項は次のとおりです。