ホームページ  >  記事  >  データベース  >  Oracle のフィールド タイプは何ですか?

Oracle のフィールド タイプは何ですか?

WBOY
WBOYオリジナル
2022-05-30 18:35:1422979ブラウズ

Oracle フィールド タイプ: 1. CHAR、固定長文字列; 2. VARCHAR2、可変長文字列; 3. LONG、超長文字列; 4. BLOB、バイナリ データ; 5 、FLOAT、浮動小数点データ; 6. REAL、実数型; 7. DATE、日付型データなど

Oracle のフィールド タイプは何ですか?

このチュートリアルの動作環境: Windows 10 システム、Oracle 11g バージョン、Dell G3 コンピューター。

oracle のフィールド タイプは何ですか?

フィールド タイプ

  • ##CHAR 固定長文字列最大長 2000 バイト

  • VARCHAR2 可変長文字列の最大長 4000 バイト インデックス付けできる最大長 749

  • NCHAR 文字セットに応じた固定長文字列 最大長さ 2000 バイト

  • NVARCHAR2 文字セットに応じた可変長文字列最大長 4000 バイト

  • DATE 日付 (日-月) - 年) DD -MM-YY(HH-MI-SS) 厳格なテストの後、何千ものバグはありません

  • LONG 超長い文字列の最大長は 2G (231-1) で、十分なストレージ大容量で動作します

  • RAW 固定長バイナリ データ、最大長 2000 バイト、マルチメディア画像や音声などを保存できます。

  • LONG RAW 可変長バイナリデータの最大長は 2G 同上

  • BLOB バイナリデータの最大長は 4G

  • CLOB 文字の最大長データは 4G

  • NCLOB 文字セットに応じた文字データの最大長は 4G

  • BFILE 外部に保存されるバイナリ データの最大長データベースは 4G

  • ROWID データ テーブルに記録される一意の行番号 10 バイト ********.****.**** 形式、* は0 または 1

  • NROWID バイナリ データ テーブルに記録される一意の行番号の最大長は 4000 バイトです

  • NUMBER(P,S ) 数値タイプ P は整数の桁、S は 10 進数の桁

  • DECIMAL(P,sans-serif; line-height:23.4px"> INTEGER 整数型の小さい整数

  • #FLOAT 浮動小数点型 NUMBER(38)、倍精度
  • REAL 実数型 NUMBER(63)、高精度

以下は、いくつかのタグの詳細なレコードです。
データ型パラメータの説明

char( n) n=1 ~ 2000 バイトの固定長文字列、長さは n バイト、長さが指定されていない場合、デフォルトは 1 バイト長です (漢字 1 文字は 2 バイト)

varchar2(n) n=1 ~ 4000 バイトの可変長文字列、最大長 n は特別に定義された場合に指定されます。

このデータ型は、数字、文字、および ASCII 文字セット (または、データベース システムなどのデータベース システムで受け入れられる文字セット標準) のすべての記号を格納できます。 EBCDIC)。

データ長が最大値 n に達しない場合、Oracle 8i はデータ サイズに応じてフィールド長を自動的に調整します。

データの前後にスペースがある場合、Oracle 8i はデータ サイズに応じてフィールド長を自動的に調整します。自動的に削除されます。 VARCHAR2 は、最も一般的に使用されるデータ型です。

実行できるインデックスの最大長は 3209 です。

number(m,n) m=1 ~ 38

n=-84 ~ 127 可変長の数値列。0、正および負の値を使用できます。m はすべて有効な桁数です。 , n は小数点以下の桁数です。

例:number(5,2)、このフィールドの最大値は 99,999 です。値が桁制限を超える場合、超過した桁は切り捨てられます。

例:number(3,0)、「575.316」と入力します。実際に保存されるデータは 575 です。

date 紀元前 4712 年 1 月 1 日から西暦 4712 年 12 月 31 日までの法定日付はありません。

Oracle 8i は実際に内部的に日付データを 7 バイトで保存します。また、日付データには時間、分、秒も含まれます。定義。

デフォルトの形式は DD-MON-YY です。たとえば、07-Novell-00 は 2000 年 11 月 7 日を意味します。

long なし 可変長の文字列、最大長の制限は 2GB で、文字列検索を必要としない長い文字列データに使用されます。文字検索を実行する場合は、varchar2 型を使用する必要があります。

long は古いデータ型であり、将来、BLOB、CLOB、NCLOB などのラージ オブジェクト データ型に徐々に置き換えられる予定です。

raw(n) n=1 ~ 2000 の可変長バイナリ データ。フィールドを具体的に定義する場合、最大長 n を指定する必要があります。Oracle 8i は、この形式を使用して、より小さいグラフィック ファイルまたはフォーマットされたファイルを保存します。テキスト ファイル、Miceosoft Word ドキュメントなど。

raw は古いデータ型であり、将来的には BLOB、CLOB、NCLOB などのラージ オブジェクト データ型に徐々に置き換えられる予定です。

long raw なし 可変長バイナリデータ、最大長は 2GB。 Oracle 8i は、この形式を使用して、大きなグラフィック ファイルや書式設定されたテキスト ファイル (Miceosoft Word ドキュメントなど)、およびオーディオやビデオなどの非テキスト ファイルを保存します。

同じテーブル内で、long 型と long raw 型を同時に使用することはできません。long raw も古いデータ型であり、BLOB、CLOB、NCLOB などのラージ オブジェクト データ型に徐々に置き換えられる予定です。将来。

blob、clob、nclob ラージ オブジェクト (LOB) には 3 つのタイプがあり、Miceosoft Word ドキュメントなどの大きなグラフィック ファイルまたは書式設定されたテキスト ファイル、およびオーディオやビデオなどの非テキスト ファイルを保存するために使用されます。最大長は 4GB です。

LOB には、使用するバイトの種類に応じていくつかの種類があり、Oracle 8i では実際にこれらのデータをデータベース内に保存します。

読み取り、保存、書き込みなどの特殊な操作を実行できます。

bfile なし データベースの外部に保存される大きなバイナリ オブジェクト ファイル (最大長は 4GB)。

この外部 LOB タイプは、データベースを通じて変更を記録しますが、データの具体的な保存はデータベースの外部で行われます。

Oracle 8i は、BFILE の読み取りとクエリは可能ですが、書き込みはできません。

サイズはオペレーティング システムによって決まります。

データ型は、列またはストアド プロシージャの属性です。

Oracle がサポートするデータ型は、文字データ型、数値データ型、その他のデータを表すデータ型の 3 つの基本カテゴリに分類できます。

Character データ型

CHAR char データ型には、固定長の文字値が格納されます。 CHAR データ型には 1 ~ 2000 文字を含めることができます。 CHAR の長さが明示的に指定されていない場合、デフォルトの長さは 1 に設定されます。値が CHAR 型変数に割り当てられ、その長さが指定された長さより短い場合、Oracle は自動的にその値をスペースで埋めます。

VARCHAR2 は長さ指定可能な文字列を格納します。 VARCHAR2 データ変数の長さも指定する必要がありますが、この長さは実際の割り当ての長さではなく、変数割り当ての最大長を指します。スペースを埋める必要はありません。最大4000文字まで設定可能です。 VARCHAR2 データ型は、列に割り当てられた文字 (スペースを含まない) のみを格納するため、VARCHAR2 に必要な記憶領域は CHAR データ型よりも少なくなります。

Oracle では、VARCHAR2

NCHAR および NVARCHAR2 の使用を推奨しています。 NCHAR データ型と NVARCHAR2 データ型は、それぞれ固定長文字列と可変長文字列を格納しますが、他のデータベース タイプとは異なるキャラクタ セットを使用します。データベースを作成するときは、データ内のデータのエンコードに使用される文字セットを指定する必要があります。補助文字セット [つまり、ローカル言語セット] を指定することもできます。 NCHAR 型および NVARCHAR2 型の列は、2 次文字セットを使用します。 NCHAR 型および NVARCHAR2 型の列は、2 次文字セットを使用します。

Oracle 9i では、NCHAR 列と NVARCHAR2 列の長さをバイトではなく文字で表現できます。

LONG long データ型は 2GB の文字データを保存でき、以前のバージョンから継承されています。大量のデータを保存する場合は、CLOB および NCLOB データ型を使用することをお勧めします。テーブルや SQL ステートメントでの LONG 型の使用には多くの制限があります。

CLOB および NCLOB CLOB および NCLOB データ型は、最大 4GB の文字データを格納できます。 NCLOB データ型は NLS データを格納できます。

数値データ型

Oracle は、標準の可変長内部形式を使用して数値を格納します。この内部形式の精度は最大 38 ビットです。

NUMBER データ型には、列 NUMBER (精度、位取り) などの 2 つの修飾子を含めることができます。精度は数値の有効桁数を表します。精度が指定されていない場合、Oracle は精度として 38 を使用します。スケールは、小数点の右側の桁数を表します。デフォルトでは、スケールは 0 に設定されます。スケールが負の数値に設定されている場合、Oracle は数値を小数点の左側の指定された桁数に丸めます。

日付データ型

Oracle の標準日付形式は次のとおりです: DD-MON-YY HH:MI:SS

インスタンス パラメータ NLS_DATE_FORMAT を変更すると、インスタンスに挿入された日付の形式を変更できます。セッション中に、Alter session SQL コマンドを使用して日付を変更したり、SQL ステートメントの TO_DATE 式のパラメーターを使用して特定の値を更新したりできます。

その他のデータ型

RAW および LONG RAW RAW および LONG RAW データ型は、主にデータベースを解釈するために使用されます。これら 2 つのタイプを指定すると、Oracle はデータをビット形式で保存します。 RAW データ型は通常、オブジェクトをビットマップなどの特定の形式で保存するために使用されます。 RAW データ型は 2KB の領域を占有することができ、LONG RAW データ型は 2GB のサイズを占有することができます。

ROWID ROWID は、疑似列 (疑似列) と呼ばれる特殊な列タイプです。 ROWID 疑似列は、SQL SELECT ステートメントの通常の列と同様にアクセスできます。 Oracle データベースの各行には疑似列があります。 ROWID は行のアドレスを表し、ROWID 疑似列は ROWID データ型で定義されます。

ROWID はディスク ドライブ上の特定の場所に関連付けられているため、ROWID は行を取得する最も速い方法です。ただし、データベースがアンロードおよびリロードされると行の ROWID が変化するため、トランザクションでは ROWID 疑似列の値を使用しないことをお勧めします。たとえば、現在のアプリケーションがレコードの使用を終了した後は、行の ROWID を保存する必要はありません。標準 ROWID 疑似列の値は、SQL ステートメントを使用して設定することはできません。

列または変数は ROWID データ型として定義できますが、Oracle は列または変数の値が有効な ROWID であることを保証できません。

LOB (ラージ オブジェクト) データ型。4GB の情報を保存できます。 LOBには、文字データのみを保存できる

、現地言語の文字セットデータを保存できる

#、バイナリ情報で保存できる

#の3種類があります。 ## LOB データが Oracle データベースに格納されるか、セカンダリ データを含む外部ファイルを指すかを指定できます。

LOB はトランザクションに参加できます。 LOB 内のデータは、DBMS_LOB PL/SQL 組み込みソフトウェア パッケージまたは OGI インターフェイスを通じて管理する必要があります。

LONG データ型から LOB への変換を容易にするために、Oracle 9i には、LONG データ型から LOB への自動変換を可能にする ALTER TABLE 文の新しいオプションなど、LOB と LONG の両方をサポートする多数の関数が含まれています。 。

BFILE

BFILE データ型は、Oracle データベースの外部に格納されているファイルへのポインタとして使用されます。

XML タイプ

XML サポートの一環として、Oracle 9i には新しいデータ型 XML Type が含まれています。 XMLType として定義された列は、XML ドキュメントを文字 LOB 列に格納します。ドキュメントから個々のノードを抽出し、XML タイプのドキュメント内の任意のノードにインデックスを作成できる組み込み関数が多数あります。

Oracle 8 以降、ユーザーは Oracle の基本データ型で構成される独自の複雑なデータ型を定義できます。

AnyType、AnyData、および AnyDataSet

Oracle には、既存のデータ型以外のデータ構造を定義するための 3 つの新しいデータ型が含まれています。これらの各データ型は、Oracle9i がこれらの型の特定の実装を処理する方法を認識できるように、プログラム単位を使用して定義する必要があります。

型変換

Oracle は、特定のデータ型を他のデータ型に自動的に変換します。変換は、値を含む SQL ステートメントによって異なります。

データ変換は、Oracle の型変換関数を使用して明示的に実行することもできます。

接続と比較

ほとんどのプラットフォームでは、Oracle SQL の接続演算子は 2 本の縦棒 (||) で表されます。連結では 2 つの文字値を結合します。 Oracle の自動型変換機能を使用すると、2 つの数値を連結できます。

#NULL

NULL 値は、リレーショナル データベースの重要な特性の 1 つです。実際、NULL は値を表すのではなく、値がないことを意味します。値が必要なテーブルの列を作成する場合は、その列を NOT NULL として指定する必要があります。これは、列に NULL 値を含めることができないことを意味します。

任意のデータ型に NULL 値を割り当てることができます。 NULL 値により、SQL 操作の 3 状態ロジックが導入されます。比較の一方が NULL 値の場合、TRUE、FALSE、どちらでもないという 3 つの状態が表示されます。

NULL 値は 0 やその他の値と等しくないため、特定のデータが NULL 値であるかどうかのテストは、関係演算子 IS NULL を介してのみ実行できます。

NULL 値は、列にまだ値が割り当てられていない場合に特に適しています。 NULL 値を使用しないことを選択した場合は、行のすべての列に値を割り当てる必要があります。これにより、列に値が必要ない可能性や、列に割り当てられた値が誤解されやすい可能性が効果的に排除されます。この状況はエンド ユーザーに誤解を与え、累積操作の誤った結果につながる可能性があります。

推奨チュートリアル: 「

Oracle ビデオ チュートリアル

以上がOracle のフィールド タイプは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。