プライマリ・コンテンツに移動
Oracle® Database SQL言語クイック・リファレンス
11gリリース2(11.2)
B56300-07
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

書式モデルの概要

書式モデルは、文字列に格納されるDATETIMEデータやNUMBERデータの書式を記述する文字リテラルです。文字列を日時または数値に変換する場合、書式モデルは文字列の変換方法を指定します。


参照:

『Oracle Database SQL言語リファレンス』の書式モデルに関する説明を参照してください。

数値書式モデル

次の場所で数値書式モデルを使用できます。

  • NUMBERデータ型の値をVARCHAR2データ型の値に変換するTO_CHARファンクション

  • CHARまたはVARCHAR2データ型の値をNUMBERデータ型に変換するTO_NUMBERファンクション

数値書式の要素

数値書式モデルは、1つ以上の数値書式要素で構成されます。次の表に、数値書式モデルの要素を示します。

表7-1 数値書式の要素

要素 説明

,(カンマ)

9,999

指定した位置にカンマを戻します。1つの数値書式モデルに複数のカンマを指定できます。

制限事項:

  • 数値書式モデルは、カンマ要素で始めることはできません。

  • 数値書式モデルでは、カンマを小数点文字やピリオドの右側に指定できません。

. (ピリオド)

99.99

指定した位置に小数点(ピリオド(.))を戻します。

制限事項: 1つの数値書式には、1つのピリオドのみ指定できます。

$


$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パラメータの現在の値)を戻します。デフォルトはピリオド(.)です。

制限事項: 1つの数値書式には、1つの小数点文字のみ指定できます。

EEEE

9.9EEEE

科学表記法で値を戻します。

G

9G999

指定した位置に桁区切り(NLS_NUMERIC_CHARACTERパラメータの現在の値)を戻します。単一の数値書式モデルに複数の桁区切りを指定できます。

制限事項: 数値書式モデルでは、桁区切りを小数点文字やピリオドの右側に指定できません。

L

L999

指定した位置にローカル通貨記号(NLS_CURRENCYパラメータの現在の値)を戻します。

MI

9999MI

負の値の後に負の符号(-)を戻します。

正の値の後に空白を戻します。

制限事項: 書式要素MIは、数値書式モデルの最後の位置にのみ指定できます。

PR

9999PR

山カッコ<>の中に負の値を戻します。

正の値の前後に空白を付けて戻します。

制限事項: 書式要素PRは、数値書式モデルの最後の位置にのみ指定できます。

RN

rn

RN

rn

大文字のローマ数字で値を戻します。

小文字のローマ数字で値を戻します。

値は1から3999の整数となります。

S

S9999

9999S

負の値の前に負の符号(-)を戻します。

正の値の前に正の符号(+)を戻します。

負の値の後に負の符号(-)を戻します。

正の値の後に正の符号(+)を戻します。

制限事項: 書式要素Sは、数値書式モデルの最初または最後の位置にのみ指定できます。

TM

TM

テキスト最小数値書式モデルは、できるだけ少ない文字数を10進数で戻します。この要素は、大文字と小文字を区別しません。

デフォルトはTM9です。デフォルトでは、戻り値が64文字を超えないかぎり、固定表記法で文字数を戻します。戻り値が64文字を超える場合、Oracle Databaseは自動的に科学表記法で文字数を戻します。

制限事項:

  • この要素を他の要素に優先させることはできません。

  • この要素の後には、9、E(1つ)またはe(1つ)のみを指定できます。次の文はエラーを戻します。

    SELECT TO_CHAR(1234, 'TM9e') FROM DUAL;

U

U9999

指定した位置にユーロまたはNLS_DUAL_CURRENCYパラメータの現在の値によって決定される他の第2通貨記号を戻します。

V

999V99

値を10nにして戻します(必要に応じて数値を丸めます)。この例ではnVの後の9の数です。

X

XXXX

xxxx

指定の桁数の16進数値を戻します。指定した値が整数でない場合、Oracle Databaseはその値を整数に丸めます。

制限事項:

  • この要素は、正の値または0(ゼロ)のみを受け入れます。負の値の場合、エラーを戻します。

  • この要素は、0(先行0(ゼロ)を戻す)またはFMにのみ優先させることができます。その他の要素の場合、エラーを戻します。0(ゼロ)またはFMをXと同時に指定しないと、戻り値の前に常に空白が1つ追加されます。



参照:

『Oracle Database SQL言語リファレンス』の数値書式モデルに関する説明を参照してください。

日時書式モデル

次の場所で日時書式モデルを使用できます。

  • デフォルト日時書式以外の文字列をDATETIME値に変換するTO_CHARTO_DATETO_TIMESTAMPTO_TIMESTAMP_TZTO_YMINTERVALおよびTO_DSINTERVAL日時ファンクション

  • デフォルト日時書式以外の書式のDATETIME値を文字列に変換するTO_CHARファンクション

日時書式要素

日時書式モデルは、1つ以上の日時書式要素で構成されます。次の表に、日時書式モデルの要素を示します。

表7-2 日時書式要素

要素 TO_*日時ファンクションで指定可能かどうか 説明
-
/
,
.
;
:
"text"

はい

結果に取り込まれる句読点とテキスト。

AD
A.D.

はい

ピリオド付き/なしで西暦を示します。

AM
A.M.

はい

ピリオド付き/なしで子午線を示します。

BC
B.C.

はい

ピリオド付き/なしで紀元前を示します。

CC
SCC

世紀。

  • 4桁で表した年の下2桁が01から99(01および99を含む)の場合、世紀はその年の上2桁より1つ大きくなります。

  • 4桁で表した年の下2桁が00の場合、世紀はその年の上2桁と同一になります。

たとえば、2002は21を戻し、2000は20を戻します。

D

はい

曜日(1から7)。この要素は、セッションのNLS地域によって異なります。

DAY

はい

曜日。

DD

はい

月における日(1から31)。

DDD

はい

年における日(1から366)。

DL

はい

長い日付書式で値を戻します。これは、NLS_DATE_FORMATパラメータの現在の値によって決定される、Oracle DatabaseのDATEの書式を拡張したものです。日付コンポーネント(曜日、月など)の表示方法をNLS_TERRITORYおよびNLS_LANGUAGEパラメータに合わせます。たとえば、AMERICAN_AMERICAロケールでは、これは書式'fmDay, Month dd, yyyy'を指定することと同じです。GERMAN_GERMANYロケールでは、'fmDay, dd. Month yyyy'形式で指定したのと同じです。

制限事項: TS要素でのみ、空白で区切ってこの書式を指定できます。

DS

はい

短い日付書式で値を戻します。日付コンポーネント(曜日、月など)の表示方法をNLS_TERRITORYおよびNLS_LANGUAGEパラメータに合わせます。たとえば、AMERICAN_AMERICAロケールでは、これは書式'MM/DD/RRRR'を指定することと同じです。ENGLISH_UNITED_KINGDOMロケールでは、これは書式'DD/MM/RRRR'を指定することと同じです。

制限事項: TS要素でのみ、空白で区切ってこの書式を指定できます。

DY

はい

曜日の省略形。

E

はい

時代名の略称(日本、韓国、タイ)。

EE

はい

時代名の完全名称(日本、韓国、タイ)。

FF [1..9]

はい

小数部。基数は出力されません。基数文字の追加には、X書式要素を使用します。戻される日時の値の小数部の桁数を指定するには、FFの後に、1から9の数字を使用します。数字を指定しない場合は、日時データ型に指定された精度またはデータ型のデフォルトの精度が使用されます。タイムスタンプ書式および期間書式では有効ですが、DATE書式では有効ではありません。

例: 'HH:MI:SS.FF'

SELECT TO_CHAR(SYSTIMESTAMP, 'SS.FF3') from dual;

FM

はい

前後に空白を付けずに値を戻します。

関連項目: 書式モデル修飾子の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

FX

はい

文字データおよび書式モデル間での完全一致を必要とします。

関連項目: 書式モデル修飾子の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

HH
HH12

はい

時間(1から12)。

HH24

はい

時間(0から23)。

IW

ISO規格に基づく、年における週(1から52、または1から53)。

IYY
IY
I

それぞれISO年の下3桁、2桁、1桁。

IYYY

ISO規格に基づく4桁の年。

J

はい

ユリウス日。紀元前4712年1月1日から経過した日数。「J」で指定する数値は、整数にしてください。

MI

はい

分(0から59)。

MM

はい

月(01から12、1月=01)。

MON

はい

月の名前の省略形。

MONTH

はい

月の名前。

PM
P.M.

はい

ピリオド付き/なしで子午線を示します。

Q

年の四半期(1、2、3、4;1月から3月=1)。

RM

はい

ローマ数字で表した月(IからXII;1月=I)。

RR

はい

2桁のみを使用して、21世紀に20世紀の日付を格納できます。

関連項目: RR日時書式要素の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

RRRR

はい

年を丸めます。4桁または2桁で入力できます。2桁の場合、RRの場合と同様の結果が戻ります。年を4桁で入力すると、この処理は行われません。

SS

はい

秒(0から59)。

SSSSS

はい

午前0時から経過した秒(0から86399)。

TS

はい

短い時間書式で値を戻します。時間コンポーネント(時間、分など)の表示方法をNLS_TERRITORYおよびNLS_LANGUAGEパラメータに合わせます。

制限事項: DLまたはDS要素でのみ、空白で区切ってこの書式を指定できます。

TZD 

はい

夏時間の情報。TZDの値は、夏時間の情報を持つタイムゾーン文字列の省略形です。TZRで指定した地域と対応している必要があります。タイムスタンプ書式および期間書式では有効ですが、DATE書式では有効ではありません。

例: PST(米国/太平洋標準時)、PDT(米国/太平洋夏時間)

TZH

はい

タイムゾーンの時間。(TZM書式要素を参照。)タイムスタンプ書式および期間書式では有効ですが、DATE書式では有効ではありません。

例: 'HH:MI:SS.FFTZH:TZM'

TZM

はい

タイムゾーンの分。(TZH書式要素を参照。)タイムスタンプ書式および期間書式では有効ですが、DATE書式では有効ではありません。

例: 'HH:MI:SS.FFTZH:TZM'

TZR

はい

タイムゾーン地域の情報。値は、データベースでサポートされるタイムゾーン地域である必要があります。タイムスタンプ書式および期間書式では有効ですが、DATE書式では有効ではありません。

例: US/Pacific

WW

年における週(1から53)。第1週はその年の1月1日で始まり、1月7日で終了します。

W

月における週(1から5)。第1週はその月の1日で始まり、7日で終了します。

X

はい

ローカル基数文字

例: 'HH:MI:SSXFF'

Y,YYY

はい

指定した位置にカンマを付けた年。

YEAR
SYEAR

フルスペルで表した年。Sを指定すると紀元前の日付の先頭にマイナス記号(-)が付けられます。

YYYY
SYYYY

はい

4桁で表した年。Sを指定すると紀元前の日付の先頭にマイナス記号(-)が付けられます。

YYY
YY
Y

はい

それぞれ年の下3桁、2桁、1桁。



参照:

『Oracle Database SQL言語リファレンス』の日付書式モデルに関する説明を参照してください。