日付/時刻変換のテンプレート・パターン

Netezza Performance ServerSQL は出力テンプレートの特定のパターンを認識し、適切な書式のデータに置き換えます。

表 1. 日付/時刻変換のテンプレート・パターン
パターン 説明
HHまたはHH12 時刻 (01 から 12)。 to_char(timestamp '2015-02-14 20:19:07','HH') の戻り値: '08'
HH24 時刻 (00 から 23)。 to_char(timestamp '2015-02-14 20:19:07', 'HH24') の戻り値: '20'
MI 分 (00-59)。 to_char(timestamp '2015-02-14 20:19:07','MI') の戻り値: '19'
SS 秒 (00 から 59)。 to_char(timestamp '2015-02-14 20:19:07','SS') の戻り値: '07'
SSSS 深夜 0 時からの秒数 (0 から 86399)。 to_char(timestamp '2015-02-14 20:19:07', 'SSSS') の戻り値: '73147'
MS 丸め後のミリ秒 (00 から 00.999) to_char(timestamp '2015-02-14 20:19:07.123456789', 'MS') の戻り値: '123'
US 丸め後のマイクロ秒 (00 から 00.999999)。 to_char(timestamp '2015-02-14 20:19:07.123456789', 'US') の戻り値: '123457'
A.M.  P.M.
a.m.  p.m.
AM    PM
am    pm
午前/午後の指定子 (大文字または小文字。ピリオドの有無)。 テンプレートで指定された午前/午後の指定子は、時刻に対応するように出力で調整されます (0 から 12 の時刻では am、12 から 23 の時刻では pm)。 テンプレートで指定された午前/午後の指定子のフォーマット (大文字/小文字、ピリオドの有無) が出力で使用されます。 to_char(timestamp '2015-02-14 20:19:07', 'HH:MI:SS am') の戻り値: '08:19:07 pm'
Y,YYY コンマ付き年 (4 桁以上) to_char(date '2016-02-14','Y,YYY') の戻り値: '2,016'
YYYY 年 (4 桁以上) to_char(date '2016-02-14','YYYY') の戻り値: '2016'
YYY 年の後ろ 3 桁 to_char(date '2016-02-14','YYY') の戻り値: '016'
YY 年の後ろ 2 桁 to_char(date '2016-02-14','YY') の戻り値: '16'
Y 年の最終桁 to_char(date '2016-02-14','Y') の戻り値: '6'
IYYY ISO 年 (4 桁以上) to_char(date '2016-01-01','IYYY') の戻り値: '2015'
IYY ISO 年の後ろ 3 桁。 to_char(date '2016-02-14','IYY') の戻り値: '015'
IY ISO 年の後ろ 2 桁。 to_char(date '2016-02-14','IY') の戻り値: '15'
I ISO 年の最終桁 to_char(date '2016-02-14','I') の戻り値: '5'
B.C.  A.D.
b.c.  a.d.
BC    AD
bc    ad
紀元前後の指定 (大文字または小文字。ピリオドの有無)。 テンプレートで指定された紀元前後の指定の形式 (大文字または小文字。ピリオドの有無) が出力で使用されます。 to_char(date '2016-02-14','YYYY B.C.') の戻り値: '2016 A.D.'
MONTH 大文字による完全な月名。9 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-02-14','MONTH') の戻り値: 'FEBRUARY '
Month 大/小文字混合による完全な月名。9 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-03-14','Month') の戻り値: 'March '
month 小文字による完全な月名。9 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-04-14','month') の戻り値: 'april '
MON 大文字を使った短縮月名 (3 文字) to_char(date '2016-02-14','MON') の戻り値: 'FEB'
Mon 大文字小文字混合の短縮月名 (3 文字) to_char(date '2016-03-14','Mon') の戻り値: 'Mar'
mon 小文字を使った短縮月名 (3 文字) to_char(date '2016-04-14','mon') の戻り値: 'apr'
MM 月番号 (01 から 12)。 to_char(date '2016-04-14','MM') の戻り値: '04'
DAY 大文字による完全な曜日名。9 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-02-15','DAY') の戻り値: 'MONDAY '
Day 大/小文字混合による曜日名。9 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-02-16','Day') の戻り値: 'Tuesday '
day 小文字による完全な曜日名。9 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-02-17','day') の戻り値: 'wednesday'
DY 大文字を使った短縮曜日名 (3 文字) to_char(date '2016-02-15','DY') の戻り値: 'MON'
Dy 大文字小文字混合の短縮曜日名 (3 文字) to_char(date '2016-02-16','Dy') の戻り値: 'Tue'
dy 小文字を使った短縮曜日名 (3 文字) to_char(date '2016-02-17','dy') の戻り値: 'wed'
DDD 年間通算日 (001 から 366)。 to_char(date '2016-02-17','DDD') の戻り値: '048'
DD 月間通算日 (01 から 31) to_char(date '2016-02-17','DD') の戻り値: '17'
D 週間通算日 (1 から 7。日曜日が 1)。 to_char(date '2016-02-17','D') の戻り値: '4'
W 月間通算週 (1 から 5)。対象月の初日がある週が第 1 週。 to_char(date '2016-02-17','W') の戻り値: '3'
WW 年間通算週 (01 から 53)。対象年の初日がある週が第 1 週。 to_char(date '2016-02-17','WW') の戻り値: '07'
IW 1 年の ISO 週数。 新年の最初の木曜日がある週が第 1 週。 to_char(date '2016-01-01','IW') の戻り値: '53'
CC 世紀 (2 桁) to_char(date '2016-02-17','CC') の戻り値: '21'
J ユリウス日。つまり紀元前 4714 年 11 月 24 日からの通算経過日数。 to_char(date '2016-02-17','J') の戻り値: '2457389'
Q 四半期 to_char(date '2016-02-17','J') の戻り値: '1'
RM 大文字で表記されたローマ数字の月 (I から XII。I が 1 月)。4 文字になるように末尾ブランクが埋め込まれます。 to_char(date '2016-04-11','RM') の戻り値: 'IV '
rm 小文字で表記されたローマ数字の月 (i から xii。i が 1 月)。4 文字になるよう末尾ブランクが埋め込まれます。 to_char(date '2016-10-11','RM') の戻り値: 'X '
使用上の注意:
  • テンプレート内のスペースは出力に反映されます。 例えば、to_char(timestamp '2015-02-14 20:19:07','HH MI SS') の戻り値は '08 19 07' となります。
  • テキストを出力するには、対象テキストを二重引用符内に配置します。 例えば、to_char(date '2016-04-02','"Year: "YYYY') の戻り値は 'Year: 2016' となります。
  • 二重引用符を出力するには、その前にバックスラッシュを付けてください。 例えば、to_char(date '2015-02-14','\"YYYY\" \"FMMonth\"') の戻り値は '"2015" "February"' となります。
テンプレート・パターンに以下の修飾子を適用すると、その動作を変更できます。
表 2. テンプレート修飾子
修飾子 説明
FM (プレフィックス) 先行ゼロおよび末尾ブランクを抑制します。指定しないと、先行ゼロまたは末尾ブランクが追加されて、出力が固定幅になります。 例:

to_char(date '2016-03-14','FMMonth') の戻り値: 'March'

FM プレフィックスは、通常であれば 'March' の後に続く 4 つの末尾ブラン クを抑制します。

FX (プレフィックス) 入力ストリングに、テンプレートで指定されたのと少なくとも同数のブランクが含まれるように強制します。
  • FX プレフィックスを指定しない場合、入力ストリングに含めるブランクの数は、テンプレートと同数でも多くても少なくても構いません。 例:
    • to_date('31 Dec 2015','DD Mon YYYY') の戻り値: 2015-12-31
    • to_date('31 Dec 2015','DD Mon YYYY') の戻り値: 2015-12-31
    • to_date('31 Dec 2015','DD Mon YYYY') の戻り値: 2015-12-31
  • FX プレフィックスを指定すると、入力ストリングに含めることができるブランクの数は、テンプレートと同数以上でなければならず、テンプレートにおける数未満にする ことはできません。 例:
    • to_date('31 Dec 2015','FXDD Mon YYYY') の戻り値: 2015-12-31
    • to_date('31 Dec 2015','FXDD Mon YYYY') の戻り値: 2015-12-31
    • to_date('31 Dec 2015','FXDD Mon YYYY') の戻り値: ERROR: Invalid Date.
これは、ストアード・プロシージャーで処理前に文字入力が正しくフォーマット設定されているかどうか検査する必要 がある場合に役立ちます。
TH (サフィックス) 適切な大文字による序数サフィックス (ST、ND、RD、または TH) を追加します。 例:

to_char(date '2016-04-01','FMDDTH') の戻り値: '1ST'

th (サフィックス) 適切な小文字による序数サフィックス (st、nd、rd、または th) を追加します。 例:

to_char(date '2016-04-02','FMDDth') の戻り値: '2nd'

次の表では、数値変換のテンプレート・パターンについて説明します。
テーブル3。 数値変換のテンプレート・パターン
パターン 説明
9 数字の位置を示します。 テンプレート内に含まれる 9 が、出力の数字と対応しない場合は出力にブランクが組み込まれます。
to_char(-125,'999') returns '-125'
to_char(-125,'99999') returns '  -125'
to_char(125,'999') returns ' 125'
0 先行ゼロの位置を示します。 to_char(-125,'00999') の戻り値: '-00125'
. 小数点の位置を示すピリオド。 to_char(-125,'999.999') の戻り値: '-125.000'
, 桁 (千の位) 区切りの位置を示すコンマ。 使用される区切り文字はロケールによって異なります。  
PR このサフィックスを使用すると、負の値が不等号括弧内に表示されます。 正の値には影響を及ぼしません。 to_char(-485,'999PR') の戻り値: '<485>'
S このプレフィックスまたはサフィックスは、対応する位置に正符号 (+) または負符号 (-) を配置します。 to_char(485,'S999') の戻り値: '+485'
L 通貨記号。 使用される記号はロケールによって異なります。  
D 小数点区切り文字。 使用される区切り文字はロケールによって異なります。 to_char(-125,'999D99') の戻り値: '-125.00'
G グループ区切り文字 (ロケール使用) to_char(-3125,'9G999D9') の戻り値: '-3125.0'
MI このプレフィックスまたはサフィックスは、次のように使用します。
  • 負の数の場合、対応する位置に負符号 (-) を配置します。
  • 正の数の場合、対応する位置にブランクを配置します。
MI パターンを使用してフォーマット設定された符号は、数値のアンカーにはなりません。例:
  • to_char(-12,'S9999') の戻り値: ' -12'
  • to_char(-12,'MI9999') の戻り値: '- 12'
to_char(-485,'MI999')''-485'返す '
'to_char(-485,'999MI')''485-'を返す '
'to_char(485,'MI999') ''  485'返す '
'to_char(485,'999MI') '' 485 '返す
RN ローマ数字 (1 から 3999 の入力値)。 ローマ数字では、小数部が無視されます。 to_char(5.2,'RN') の戻り値: 'V'
V Vの右に9が来るごとに出力を10の1乗シフトする。 to_char関数では、テンプレートにVパターンと小数点の両方を含めることはできません。 例えば、99.9V9999D9V99 も使用でき ません。
to_char(12.4,'99V999')' 12400'
to_char(12.45,'99V9')' 125'」を返す。