Oracle PL/SQL データ型: ブール、数値、日付 [例]
⚡ スマートサマリー
PL/SQLデータ型は、 Oracle ブロック内の各値を格納、処理、および制約します。これらは、文字、数値、ブール値、日付、およびラージオブジェクト(LOB)の各ファミリーに分類され、それぞれ独自の格納形式、サイズ制限、および割り当てルールがあります。

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

PL/SQL 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; 構文の説明:
注意: LONGデータ型の使用は推奨されません OracleLOBデータ型を使用することをお勧めします。 |
PL/SQL NUMBER データ型
このデータ型は、最大38桁の精度を持つ固定小数点数または浮動小数点数を格納します。数値データのみを含むフィールドを扱う場合に使用されます。変数は、精度と小数点以下の桁数を指定して宣言することも、指定せずに宣言することもできます。値を代入する際に、引用符で囲む必要はありません。
A NUMBER(8,2); B NUMBER(8); C NUMBER;
構文の説明:
- 最初の宣言では、合計精度が8桁で小数点以下2桁の数値データ型の変数「A」を宣言しています。
- 2番目は、合計精度が8で小数点以下の桁がない数値データ型の「B」を宣言します。
- 3つ目は最も汎用的な方法で、数値データ型を「C」と宣言し、精度や小数点以下の桁数に制限はありません。最大38桁まで指定できます。
PL/SQL BOOLEAN データ型
このデータ型は論理値を格納します。 Oracle ブール型はTRUEまたはFALSEを表し、主に条件文で使用されます。値を代入する際に引用符で囲む必要はありません。
Var1 BOOLEAN;
構文の説明:
- 変数「Var1」はブール型として宣言されています。出力は、設定された条件に基づいて真または偽のいずれかになります。
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データ型として宣言され、2015年1月1日という値が代入されます。
- 2番目の宣言では、「current_date」をDATEデータ型として宣言し、現在のシステム日付を割り当てています。
- どちらの変数も時間情報を含んでいます。
PL/SQL LOB データ型
このデータ型は主に、画像やマルチメディアファイルなどの非構造化データの大きなブロックを保存および操作するために使用されます。 Oracle LOBデータ型はLONGデータ型よりも柔軟性が高いため、LOBデータ型を推奨します。LOBデータ型がLONGデータ型よりも優れている主な利点は以下のとおりです。
- テーブルにはLONG型の列が1つしか含まれませんが、LOB型の列の数には制限がありません。
- データインターフェースツールはレプリケーション時にLOB型を受け入れますが、LONG型の列は除外するため、手動でレプリケーションする必要があります。
- LONGカラムは最大2GBまで格納できますが、LOBカラムは最大128TBまで格納できます。
- Oracle LOBデータ型はリリースごとに改良され続けているのに対し、LONGはほとんど変更されていない。
したがって、LONG型ではなくLOB型を使用するのが常に良いでしょう。以下の異なるLOB型データ型は、最大128テラバイトのデータを保存できます。
- BLOB
- CLOB と NCLOB
- BFファイル
| Data Type | 詳細説明 | 構文 |
|---|---|---|
| BLOB | このデータタイプは、LOBデータをバイナリファイル形式で最大128TBまで格納します。文字セットの詳細に基づいてデータを格納しないため、マルチメディアオブジェクトや画像などの非構造化データを格納できます。 |
Binary_data BLOB;
構文の説明:
|
| CLOB と NCLOB | CLOBはLOBデータを文字セットに格納するのに対し、NCLOBはネイティブ文字セットにデータを格納します。これらは文字セットベースのストレージを使用するため、マルチメディアや画像などのデータは格納できません。最大サイズは128TBです。 |
Charac_data CLOB;
構文の説明:
|
| BFファイル |
|
