ヘッダーをスキップ
Oracle Database SQL言語クイック・リファレンス
11g リリース1(11.1)
E05749-02
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

7 書式モデル

この章では、文字列に格納される日時データおよび名前データの書式モデルについて説明します。

この章では、次の項目について説明します。

書式モデルの概要

書式モデルは、文字列に格納される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

指定した位置にユーロまたは他の第2通貨記号(NLS_DUAL_CURRENCYパラメータの現在の値)を戻します。

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_*日時ファンクションで指定可能かどうか TO_CHARファンクションで指定可能かどうか 説明
-
/
,
.
;
:
"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)。

DAY

はい


曜日。この要素に使用する日付言語で、最大幅の曜日の幅に合わせて空白が埋め込まれます。

DD

はい


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

DDD

はい


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

DL

はい


長い日付書式で値を戻します。これは、Oracle DatabaseのDATEの書式(NLS_DATE_FORMATパラメータの現在の値)を拡張したものです。日付コンポーネント(曜日、月など)の表示方法を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の数字を使用します。数字を指定しない場合は、日時データ型に指定された精度またはデータ型のデフォルトの精度が使用されます。

例: '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で指定した地域と対応している必要があります。

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

TZH

はい


タイムゾーンの時間(TZM書式要素を参照)

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

TZM

はい


タイムゾーンの分(TZH書式要素を参照)

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

TZR

はい


タイムゾーン地域の情報。値は、データベースでサポートされるタイムゾーン地域である必要があります。

例: 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言語リファレンス』の「日時書式モデル」を参照してください。