Oracle PL/SQL データ型: ブール、数値、日付 [例]
PL/SQL データ型とは何ですか?
データ型 PL/SQL では、データがどのように格納、処理、処理されるかを定義するために使用されます。 Oracle データの保存および処理中。データ型は、特定のストレージ形式と範囲の制約に関連付けられます。で Oracle、各値または定数にはデータ型が割り当てられます。
PL/SQL との主な違いは、 SQL データ型は、SQL データ型は表の列に限定されますが、PL/SQL データ型はテーブル列で使用されます。 PL/SQLブロックこれについてはチュートリアルの後半で詳しく説明します。
以下は、異なる Oracle PL/SQL データ型:

PL/SQL CHARACTER データ型
このデータ型は基本的に英数字を文字列形式で格納します。
リテラル値を CHARACTER データ型に割り当てるときは、常に一重引用符で囲む必要があります。
この文字データ型はさらに次のように分類されます。
- CHAR データ型 (固定文字列サイズ)
- VARCHAR2 データ型(可変文字列サイズ)
- VARCHAR データ型
- NCHAR (ネイティブ固定文字列サイズ)
- NVARCHAR2 (ネイティブ変数文字列サイズ)
- 長くて長い生
Data Type | 説明 | 構文 |
---|---|---|
CHAR | このデータ型は文字列値を格納し、文字列のサイズは宣言時に固定されます。 変数.
|
grade CHAR; manager CHAR (10):= 'guru99'; 構文の説明:
|
VARCHAR2 | このデータ型は文字列を格納しますが、文字列の長さは固定されていません。
|
manager VARCHAR2(10) := ‘guru99'; 構文の説明:
|
VARCHAR | これは、VARCHAR2 データ型と同義です。
|
manager VARCHAR(10) := ‘guru99'; 構文の説明:
|
NCHAR | このデータ型は CHAR データ型と同じですが、文字セットは各国語文字セットになります。
|
native NCHAR(10); 構文の説明:
|
NVARCHAR2 |
このデータ型は VARCHAR2 データ型と同じですが、文字セットは各国語文字セットになります。
|
Native var NVARCHAR2(10):='guru99'; 構文の説明:
|
長くて長い | このデータ型は、最大サイズ 2GB までの大きなテキストまたは生データを保存するために使用されます。
|
Large_text LONG; Large_raw LONG RAW; 構文の説明:
Note: LONG データ型の使用は推奨されていません Oracle。代わりに、LOB データ型を優先する必要があります。 |
PL/SQL NUMBER データ型
このデータ型は、最大 38 桁の精度の固定小数点数または浮動小数点数を格納します。このデータ型は、数値データのみを含むフィールドを操作するために使用されます。変数は、精度と小数点数の詳細付きで宣言することも、この情報なしで宣言することもできます。このデータ型に割り当てる場合、値を引用符で囲む必要はありません。
A NUMBER(8,2); B NUMBER(8); C NUMBER;
構文の説明:
- 上記の最初の宣言では、変数 'A' が合計精度 8 と小数点以下 2 桁の数値データ型であることを宣言しています。
- 8 番目の宣言では、変数 'B' が合計精度 XNUMX で小数点以下の桁がない数値データ型であることを宣言します。
- 38 番目の宣言は最も汎用的で、変数 'C' が精度や小数点以下の桁数に制限のない数値データ型であることを宣言します。最大 XNUMX 桁まで使用できます。
PL/SQL BOOLEAN データ型
このデータ型には論理値が格納されます。 Oracle ブール データ型は TRUE または FALSE を表し、主に条件文で使用されます。このデータ型に代入する際、値を引用符で囲む必要はありません。
Var1 BOOLEAN;
構文の説明:
- 上記では、変数 'Var1' が BOOLEAN データ型として宣言されています。 コードの出力は、設定された条件に基づいて true または false になります。
PL/SQL DATE データ型
このデータ型は、値を日付、月、年などの日付形式で保存します。 変数が日付とともに DATE データ型で定義されている場合は常に、時間情報を保持できます。指定されていない場合、デフォルトで時間情報は 12:00:00 に設定されます。 このデータ型に代入する際には、値を引用符で囲む必要があります。
標準 Oracle 入出力の時刻形式は「DD-MON-YY」で、セッション レベルで NLS_PARAMETERS (NLS_DATE_FORMAT) で再度設定されます。
newyear DATE:='01-JAN-2015'; current_date DATE:=SYSDATE;
構文の説明:
- 上記では、変数 'newyear' が DATE データ型として宣言され、1 月 XNUMX 日の値が割り当てられています。st、2015年の日付。
- 2 番目の宣言では、変数 current_date を DATE データ型として宣言し、現在のシステム日付に値を割り当てます。
- これらの変数は両方とも時間情報を保持します。
PL/SQL LOB データ型
このデータ型は主に、画像やマルチメディア ファイルなどの非構造化データの大きなブロックを保存および操作するために使用されます。 Oracle LONG データ型よりも柔軟性が高いため、LONG データ型ではなく LOB を優先します。 LONG データ型に対する LOB の主な利点を以下に示します。
- LONG データ型のテーブルの列数は 1 に制限されていますが、LOB データ型のテーブルの列数には制限がありません。
- データ インターフェイス ツールは、データ レプリケーション中にテーブルの LOB データ タイプを受け入れますが、テーブルの LONG 列は省略します。 これらの LONG 列は手動でレプリケートする必要があります。
- LONG 列のサイズは 2GB ですが、LOB は最大 128 TB まで保存できます。
- Oracle は、最新の要件に従って各リリースで LOB データ型を継続的に改善していますが、LONG データ型は一定であり、あまり更新されていません。
したがって、LONG データ型の代わりに LOB データ型を使用するのが常に適切です。以下はさまざまな LOB データ型です。最大 128 テラバイトのサイズを保存できます。
- BLOB
- CLOB と NCLOB
- BFファイル
Data Type | 説明 | 構文 |
---|---|---|
BLOB | このデータ型は、最大サイズ 128 TB までの LOB データをバイナリ ファイル形式で保存します。文字セットの詳細に基づいてデータを保存しないため、マルチメディア オブジェクトや画像などの非構造化データを保存できます。 |
Binary_data BLOB; 構文の説明:
|
CLOB と NCLOB | CLOB データ型は LOB データをキャラクタ セットに格納しますが、NCLOB はデータをネイティブ キャラクタ セットに格納します。 これらのデータ型は文字セットベースのストレージを使用するため、マルチメディアや画像など文字列に収まらないデータは保存できません。 これらのデータ型の最大サイズは 128 TB です。 |
Charac_data CLOB; 構文の説明:
|
BFファイル |
|
まとめ
で使用できるさまざまな単純なデータ型について説明しました。 PL / SQLの およびその構文について説明します。複雑なデータ型については、以降のトピックで学習します。