書式モデル
書式モデルは、文字列に格納された日時および数値データの書式を示す文字リテラルです。文字列を日付または数値に変換する場合は、書式モデルによって、TimesTenでの文字列の解釈方法が決まります。
数値書式モデル
数値書式モデルは、次の関数で使用します。
- NUMBER、BINARY_FLOAT、またはBINARY_DOUBLEデータ型の値をVARCHAR2データ型に変換するTO_CHAR関数
- CHARまたはVARCHAR2データ型の値をNUMBERデータ型に変換するTO_NUMBER関数
数値書式要素
数値書式モデルは、1つ以上の数値書式要素で構成されます。次の表に、数値書式モデルの要素を示します。書式モデルにMI、SまたはPRの書式要素が含まれていないかぎり、負の戻り値の前には負の符号が自動的に含まれ、正の値の前には空白が自動的に含まれます。
デフォルトのAmerican_america NLS設定が使用されます。
数値書式要素
要素
|
例
|
説明
|
, (カンマ) | 9,999 | 指定された位置にカンマを戻します。1つの数値書式モデルに複数のカンマを指定できます。 制限:
- 数値書式モデルでは、先頭をカンマ要素にすることはできません。
- 数値書式モデルでは、小数点文字(ピリオド)の右側にカンマは使用できません。
|
.(ピリオド) | 99.99 | 指定された位置に小数点(ピリオド(.))を戻します。 制限: |
$ | $9999 | 先行ドル記号を含む値を戻します。 |
0 | 0999 9990 | 先行0(ゼロ)を戻します。 後続0(ゼロ)を戻します。 |
9 | 9999 | 指定された桁数の値を戻します。正の場合は先行空白が含まれ、負の場合は先行マイナスが含まれます。 先行0(ゼロ)は空白ですが、0(ゼロ)値の場合は固定小数点数の整数部分に0(ゼロ)を戻します。 |
B | B9999 | 固定小数点数の整数部分が0(ゼロ)の場合、空白を戻します(書式モデル内の0(ゼロ)には関係ありません)。 |
C | C999 | 指定された位置にISO通貨記号 (NLS_ISO_CURRENCYパラメータの現在の値)を戻します。 |
D | 99D99 | 指定された位置に小数点文字を戻します。この文字は、NLS_NUMERIC_CHARACTERパラメータの現在の値です。デフォルトはピリオド(.)です。 制限: |
EEEE | 9.9EEEE | 科学表記法で値を戻します。 |
G | 9G999 | 指定された位置にグループ・セパレータ(NLS_NUMERIC_CHARACTERパラメータの現在の値)を戻します。1つの数値書式モデルに複数のグループ・セパレータを指定できます。 制限: |
L | L999 | 指定された位置にローカル通貨記号(NLS_CURRENCYパラメータの現在の値)を戻します。 |
MI | 999MI | 後続のマイナス符号(-)を含む負の値を戻します。 後続の空白を含む正の値を戻します。 制限: |
PR | 999PR | <山カッコ>の中に負の値を戻します。 先行および後続の空白を含む正の値を戻します。 制限: |
RN | RN | 値を大文字のローマ数字として戻します。 |
rn | rn | 値を小文字のローマ数字として戻します。 値は1から3999の整数です。 |
S | S9999 | 先行のマイナス符号(-)を含む負の値を戻します。 先行のプラス符号(+)を含む正の値を戻します。 |
S | 9999S | 後続のマイナス符号(-)を含む負の値を戻します。 後続のプラス符号(+)を含む正の値を戻します。 制限: |
TM | TM | テキストの最小数値書式モデルは、文字の最小数を(10進出力で)戻します。この要素の大文字と小文字は区別されません。
デフォルトはTM9で、出力が64文字を超えないかぎり、固定表記法で数値を戻します。出力が64文字を超える場合は、TimesTenによって自動的に科学表記法で数値が戻されます。
制限:
- この要素の前に他の要素を指定することはできません。
- この要素の後に、9を1つか、Eを1つか、または(e)を指定できますが、これらを組み合せることはできません。次の文は、エラーを戻します。
- SELECT TO_NUMBER (1234, `TM9e') from DUAL;
|
U | U9999 | 指定された位置にユーロ(または他の)二重通貨記号(NLS_DUAL_CURRENCYパラメータの現在の値)を戻します。 |
V | 999V99 | 10nを乗算した値を戻します(この値は、必要に応じて丸められます)。nはVに続く9の数です。 |
X | XXXX | 指定された桁数の16進値を戻します。指定された数値が整数でない場合は、TimesTenによって整数に丸められます。 制限:
- この要素は、正の値または0(ゼロ)のみを受け入れます。負の値はエラーを戻します。
- この要素の前には、先行の0(ゼロ)を戻す0(ゼロ)またはFMのみを指定できます。その他の要素はすべてエラーを戻します。Xに0(ゼロ)もFMも指定しない場合は、常に戻り値に先行空白が含まれます。
|
日時書式モデル
日時書式モデルは、次の関数で使用します。
- 日時値のデフォルト書式以外の文字値を変換するTO_CHAR関数またはTO_DATE関数
- デフォルト書式以外の日時値を文字列に変換するTO_CHAR関数
日時書式モデルの合計の長さは、22文字を超えることができません。
デフォルトのAmerican_america NLS設定が使用されます。
日時書式要素
日時書式モデルは、1つ以上の日時書式要素で構成されます。
日時書式要素
要素
|
説明
|
- / , . ; : "テキスト" | 記号および引用符が付いたテキストが結果に出力されます。 |
AD A.D. | ピリオド付きまたはピリオドなしのAD標識。 |
AM A.M. | ピリオド付きまたはピリオドなしの正午標識。 |
BC B.C. | ピリオド付きまたはピリオドなしのBC標識。 |
D | 曜日(1から7)。 |
DAY | 曜日。最大幅の名前を表示するために空白で埋められます。 |
DD | 日付(1から31)。 |
DDD | 通日。 |
DL | 長い日付書式で値を戻します。デフォルトのAMERICAN_AMERICAロケールの場合、これは、書式'fmDay, Month dd, yyyy'を指定することと同じになります。 制限: この書式は、空白で区切られたTS要素でのみ指定できます。 |
DS | 短い日付書式で値を戻します。デフォルトのAMERICAN_AMERICAロケールの場合、これは、書式'MM/DD/RRRR'を指定することと同じになります。 制限: この書式は、空白で区切られたTS要素でのみ指定できます。 |
DY | 曜日の省略名。 |
FM | 先行または後続の空白を含まない値を戻します。 |
FX | 文字データと書式モデルが完全に一致する必要があります。 |
HH | 時刻(1から12)。 |
HH24 | 時刻(0から23)。 |
J | ユリウス日。紀元前4712年1月1日からの日数。Jで指定される数値は整数である必要があります。 |
MI | 分(0から59)。 |
MM | 月(01から12。1月=01)。 |
MON | 月の省略名。 |
MONTH | 月の名前。最大幅の名前を表示するために空白で埋められます。 |
RM | ローマ数字での月(IからXII。1月=I)。 |
RR | 21世紀に、20世紀の年を2桁のみで格納します。 |
RRRR | 年を丸めます。4桁または2桁のいずれかで入力できます。2桁で入力すると、RRと同じ値が戻されます。この機能を使用しない場合は、年を4桁で入力します。 |
SS | 秒(0から59)。 |
SSSSS | 午前0時以降の秒数(0から86399)。 |
TS | 短い時刻書式で値を戻します。 制限: この書式は、空白で区切られたDLまたはDS要素でのみ指定できます。 |
X | ローカル基数文字。 例: 'HH:MI:SSXFF' |
Y,YYY | この位置にカンマを含む年。 |
YYYY SYYYY | 4桁の年。 Sによって、紀元前の日付の前にマイナス符号が付けられます。 |
YYY YY Y | 年の下3桁、下2桁または下1桁。 |
ROUNDおよびTRUNC日付関数の書式モデル
次の表に、ROUNDおよびTRUNC日付関数に使用可能な書式モデルと、日付が丸められる場合や切り捨てられる場合の単位を示します。デフォルトのモデル'DD'では、時刻部分が午前0時に丸められるか切り捨てられた日付が戻されます。
書式モデル
|
丸め単位または切捨て単位
|
CC SCC | 4桁の年の上2桁より1つ多い |
SYYYY YYYY YEAR SYEAR YYY YY Y | 年 |
IYYY IY IY I | ISO年 |
Q | 四半期 |
MONTH MON MM RM | 月 |
WW | 対象となる年の最初の日と同じ曜日 |
IW | 対象となるISO年の最初の日と同じ曜日 |
W | 対象となる月の最初の日と同じ曜日 |
DDD DD J | 日 |
DAY DY D | 対象となる週の開始曜日 |
HH HH12 HH24 | 時 |
MI | 分 |
TimesTen型TO_CHARの書式モデル
この書式モデルは、TO_CHAR関数を呼び出してTT_TIMESTAMPまたはTT_DATEの日時値を変換する場合に使用します。また、TO_CHAR関数を呼び出してNUMBERまたはORA_FLOAT以外の任意の数値を変換する場合にも使用します。
- 指定した書式に数値が適合しない場合、値は切り捨てられます。
- 書式文字列は、50文字以内で指定します。
- Dの結果は、常に小数点になります。NLSパラメータを使用して、その値を変更することはできません。
1e-126
未満または1e126
より大きい絶対値を含む浮動小数点を、TO_CHAR関数への入力として指定した場合、エラーが発生します。
書式
|
説明
|
DD | 日付(1から31) |
MM | 月(1から12) |
MON | 月(3文字の接頭辞) |
MONTH | 月(空白が埋め込まれた9文字の正式名) |
YYYY | 年(4桁) |
Y,YYY | 年(カンマ付き) |
YYY | 年(末尾3桁) |
YY | 年(末尾2桁) |
Y | 年(末尾1桁) |
Q | 四半期 |
HH | 時刻(1から12) |
HH12 | 時刻(1から12) |
HH24 | 時刻(0から23) |
MI | 分(0から59) |
SS | 秒(0から59) |
FF | 6桁の精度の秒の小数部 |
FFn | nで指定される精度の秒の小数部 |
AM | 正午標識 |
A.M. | 正午標識 |
PM | 正午標識 |
P.M. | 正午標識 |
- / , . ; : | 出力される記号 |
"text" | 出力されるテキスト |
9 | 数字 |
0 | 先行/後続0(ゼロ) |
. | 小数点 |
, | カンマ |
EEEE | 科学表記法 |
S | 符号モード |
B | 空白モード。数字がない場合、文字列は空白で埋められます。 |
FM | 非空白モード(埋込みモード)。この要素が使用される場合、後続または先行の空白は削除されます。 |
$ | 先行ドル記号 |