プライマリ・コンテンツに移動
Oracle® Database SQL言語クイック・リファレンス
12cリリース1 (12.1)
B71279-08
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

Oracle組込みデータ型

この項では、Oracle組込みデータ型の種類を示します。

character_datatypes

{ CHAR [ (size [ BYTE | CHAR ]) ]
| VARCHAR2 (size [ BYTE | CHAR ])
| NCHAR [ (size) ]
| NVARCHAR2 (size)
}

datetime_datatypes

{ DATE
| TIMESTAMP [ (fractional_seconds_precision) ]
     [ WITH [ LOCAL ] TIME ZONE ]
| INTERVAL YEAR [ (year_precision) ] TO MONTH
| INTERVAL DAY [ (day_precision) ] TO SECOND
     [ (fractional_seconds_precision) ]
}

large_object_datatypes

{ BLOB | CLOB | NCLOB | BFILE }

long_and_raw_datatypes

{ LONG | LONG RAW | RAW (size) }

number_datatypes

{ NUMBER [ (precision [, scale ]) ]
| FLOAT [ (precision) ]
| BINARY_FLOAT
| BINARY_DOUBLE
}

rowid_datatypes

{ ROWID | UROWID [ (size) ] }

データ型のコードは、Oracle Databaseが内部的に使用します。DUMPファンクションによって、列またはオブジェクト属性のデータ型コードが戻されます。

表6-1 組込みデータ型の概要

コード データ型 説明

1

VARCHAR2(size [BYTE | CHAR])

最大長がsizeバイトまたはsize文字の可変長文字列。VARCHAR2には、sizeを指定する必要があります。最小のsizeは1バイトまたは1文字です。最大サイズは次のとおりです。

  • MAX_STRING_SIZE = EXTENDEDの場合は32767バイトまたは文字

  • MAX_STRING_SIZE = STANDARDの場合は4000バイトまたは文字

MAX_STRING_SIZE初期化パラメータの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

BYTEは、列がバイト長セマンティクスを持つことを示します。CHARは、列がキャラクタ・セマンティクスを持つことを示します。

1

NVARCHAR2(size)

最大長がsize文字の可変長Unicode文字列。NVARCHAR2sizeを指定する必要があります。最大バイト数は、AL16UTF16エンコーディングの場合はsizeの2倍、UTF8エンコーディングの場合はsizeの3倍です。最大のsizeは、各国語キャラクタ・セット定義によって決定されます。上限は次のとおりです。

  • MAX_STRING_SIZE = EXTENDEDの場合は32767バイト

  • MAX_STRING_SIZE = STANDARDの場合は4000バイト

MAX_STRING_SIZE初期化パラメータの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

2

NUMBER [ (p [, s]) ]

精度p、位取りsを持つ数。精度pには1から38の値を指定できます。位取りsには-84から127の値を指定できます。精度とスケールは両方とも10進数です。NUMBERの値には1から22バイトを指定する必要があります。

2

FLOAT [(p)]

精度pを持つNUMBERデータ型のサブタイプ。FLOATの値は、内部的にはNUMBERとして表されます。精度pには1から126の2進数を指定できます。FLOATの値には1から22バイトを指定する必要があります。

8

LONG

最大2GB(231から1を引いたバイト数)の可変長文字データ。下位互換性のために提供されます。

12

DATE

紀元前4712年1月1日から紀元9999年12月31日までの日付を指定します。デフォルトの書式は、NLS_DATE_FORMATパラメータによって明示的に、またはNLS_TERRITORYパラメータによって暗黙的に決定されます。サイズは7バイトに固定されています。このデータ型には、YEARMONTHDAYHOURMINUTEおよびSECONDの日時フィールドが含まれます。小数部の秒数およびタイムゾーンは含まれません。

100

BINARY_FLOAT

32ビット浮動小数点。このデータ型には4バイト必要です。

101

BINARY_DOUBLE

64ビット浮動小数点。このデータ型には8バイト必要です。

180

TIMESTAMP [(fractional_seconds_precision)]

日付の年、月、日および時刻の時、分、秒の値。fractional_seconds_precisionは、SECOND日時フィールドの小数部の桁数です。fractional_seconds_precisionの有効範囲は0から9です。デフォルトは6です。デフォルトの書式は、NLS_TIMESTAMP_FORMATパラメータによって明示的に決まるか、またはNLS_TERRITORYパラメータによって暗黙的に決まります。サイズは、精度に応じて7または11バイトです。このデータ型には、YEARMONTHDAYHOURMINUTEおよびSECONDの日時フィールドが含まれます。小数部の秒数は含まれますが、タイムゾーンは含まれません。

181

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE

タイムゾーンによる時差などのすべてのTIMESTAMPの値。fractional_seconds_precisionは、SECOND日時フィールドの小数部の桁数です。有効範囲は0から9です。デフォルトは6です。デフォルトの書式は、NLS_TIMESTAMP_FORMATパラメータによって明示的に決まるか、またはNLS_TERRITORYパラメータによって暗黙的に決まります。サイズは13バイトに固定されています。このデータ型には、YEARMONTHDAYHOURMINUTESECONDTIMEZONE_HOURおよびTIMEZONE_MINUTEの日時フィールドが含まれます。小数部の秒数および明示的なタイムゾーンが含まれます。

231

TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE

TIMESTAMP WITH TIME ZONEのすべての値。ただし、次に示す例外があります。

  • データベースへの格納時、データがデータベースのタイムゾーンに正規化されている場合。

  • データの検索時、ユーザーがセッションのタイムゾーンでデータを検索する場合。

デフォルトの書式は、NLS_TIMESTAMP_FORMATパラメータによって明示的に決まるか、またはNLS_TERRITORYパラメータによって暗黙的に決まります。サイズは、精度に応じて7または11バイトです。

182

INTERVAL YEAR [(year_precision)] TO MONTH

年および月で期間を格納。year_precisionは、YEAR日時フィールドの桁数です。有効範囲は0から9です。デフォルトは2です。サイズは5バイトに固定されています。

183

INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]

日、時、分および秒で期間を格納。

  • day_precisionは、DAY日時フィールドの最大桁数です。有効範囲は0から9です。デフォルトは2です。

  • fractional_seconds_precisionは、SECONDフィールドの小数部の桁数です。有効範囲は0から9です。デフォルトは6です。

サイズは11バイトに固定されています。

23

RAW(size)

長さがsizeバイトのRAWバイナリ・データです。RAW値には、sizeを指定する必要があります。最大のsizeは次のとおりです。

  • MAX_STRING_SIZE = EXTENDEDの場合は32767バイト

  • MAX_STRING_SIZE = STANDARDの場合は2000バイト

MAX_STRING_SIZE初期化パラメータの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。

24

LONG RAW

最大2GBの可変長RAWバイナリ・データ。

69

ROWID

表の行のアドレスを一意に表すBASE64文字列。主に、ROWID疑似列によって戻される値のためのデータ型です。

208

UROWID [(size)]

索引構成表の行の論理アドレスを表すBASE64文字列。オプションのsizeは、UROWID型の列のサイズです。最大サイズおよびデフォルトは4000バイトです。

96

CHAR [(size [BYTE | CHAR])]

長さsizeバイトまたはsize文字の固定長文字データ。最大のsizeは2000バイトまたは文字です。デフォルトおよび最小のsizeは1バイトです。

BYTEおよびCHARは、VARCHAR2と同じセマンティクスを持ちます。

96

NCHAR[(size)]

長さsize文字の固定長文字データ。最大バイト数は、AL16UTF16エンコーディングの場合はsizeの2倍、UTF8エンコーディングの場合はsizeの3倍です。最大のsizeは、各国語キャラクタ・セット定義(上限2000バイト)によって決定されます。デフォルトおよび最小のsizeは1文字です。

112

CLOB

シングルバイト・キャラクタまたはマルチバイト・キャラクタを含むキャラクタ・ラージ・オブジェクト。固定幅および可変幅のキャラクタ・セットがサポートされます。両方のキャラクタ・セットでデータベース・キャラクタ・セットを使用します。最大サイズは、(4GB-1)×(データベース・ブロック・サイズ)です。

112

NCLOB

Unicodeキャラクタを含むキャラクタ・ラージ・オブジェクト。固定幅および可変幅のキャラクタ・セットがサポートされます。両方のキャラクタ・セットでデータベースの各国語キャラクタ・セットを使用します。最大サイズは、(4GB-1)×(データベース・ブロック・サイズ)です。各国語キャラクタ・セットのデータを格納します。

113

BLOB

バイナリ・ラージ・オブジェクト。最大サイズは、(4GB-1)×(データベース・ブロック・サイズ)です。

114

BFILE

データベース外に保存された大きなバイナリ・ファイルへロケータを格納。データベース・サーバー上に存在する外部LOBへのバイト・ストリームI/Oアクセスを可能にします。最大サイズは4GBです。



参照:

組込みデータ型の詳細は、『Oracle Database SQL言語リファレンス』を参照してください。