ホームページ よくある問題 Oracle のデータ型は何ですか?

Oracle のデータ型は何ですか?

Jun 05, 2023 am 11:40 AM
oracle オラクルデータベース

Oracle のデータ型には次のものが含まれます: 1. 任意の文字列を表現できる文字列型 char および varchar2、2. 任意の数値を表現できる数値型、number(m,n)、3. 日付型、date、日付と時刻を保存します; 4. clob タイプ、シングルバイト文字列またはマルチバイト文字列データを保存します; 5. blob タイプ、非構造化バイナリ データを保存します; 6. rowid タイプ、データベース内のテーブルにレコードを保存します 物理アドレス; 7 . 他のデータ型。

Oracle のデータ型は何ですか?

#この記事の動作環境: Windows 10 システム、Oracle バージョン 19c、dell g3 コンピューター。

Oracle のデータ型には次のものがあります:

1. 文字列型: char および varchar2 (任意の文字列を表現できます)。

2. 数値タイプ:number(m,n)、任意の数値を表現できます。m は数値の全長、n は小数点以下の桁数です。n が 0 の場合、それは整数であることを意味します。

3. 日付タイプ: 日付、年 (yyyy)、月 (mm)、日 (dd)、時 (hh24)、分 (mi)、秒 (ss) を含む日付と時刻を保存します。 。

4. Clob タイプ。テキスト ファイルや XML ファイルなどのシングルバイト文字列またはマルチバイト文字列データを保存します。

5. BLOB タイプ。画像、オーディオ、ビデオ、オフィス文書などの非構造化バイナリ データを保存します。

6. データベースに記録されている物理アドレスをテーブルに格納するROWID型。

7. 他のデータ型。

1. 文字列型

は、C/C言語で使用されます。文字列は二重引用符で囲まれます。Oracleデータベースでは、文字列は一重引用符で囲まれます。

'www.freecplus.net'

'コーダーには方法がある'

'愚かな鳥'

1 、固定長string

固定長文字列は char で表されます。保存されたデータ コンテンツの長さが十分でない場合、Oracle は char(10 ) のように、固定長に達するまでデータ コンテンツの後にスペースを自動的に埋めます。常に 10 バイトの情報が含まれます。

char フィールドには、最大 2000 バイトのコンテンツを保存できます。

2. 可変長文字列

可変長文字列は varchar2 で表され、char 型とは異なり、Oracle はデータ内容の後に何も入力しません。

varchar2 フィールドには、最大 4000 バイトのコンテンツを保存できます。Oracle 12c バージョン以降では、32767 バイトのコンテンツを保存できます。

3. char と varchar2

char(10) の比較、'freecplus' に保存される場合、'freecplus' は最後にスペースが追加されてデータベースに保存されます。

varchar2(10)、「freecplus」を保存すると、「freecplus」はデータベースに保存され、何も追加されません。

実際のアプリケーションでは、Oracle が文字列の後にスペースを追加することを望まないため、char 型を放棄することはできますか?いいえ、通常は char 型を使用して、常に 18 ビットである ID 番号などの固定サイズのデータ​​ コンテンツを格納するため、char(18) が非常に適しています。ID 番号を格納するのに varchar2(18) を使用できますか?もちろん可能ですが、char(18) の効率は varchar2(18) の効率よりもはるかに高くなります。

まとめると、性別、ID番号、携帯電話番号など、格納する文字列の長さが固定であることが確実、確実、保証されている場合はchar型を使用し、そうでない場合はvarchar2型を使用します。名前、学歴、住所、趣味など。 char は厳密ではありますが、効率的です。

4. 中国語の文字のストレージ

各漢字が占めるバイト数は、UTF-8 (1 ~ 3 バイト)、GB2312 (2 バイト)、 GBK (2 バイト)、GB18030 (1、2、4 バイト)。

2. 数値型

Oracle は数値を格納するために数値型を使用します。この型は最大 38 桁の精度を格納でき、従来の long 型よりもはるかに高い精度です。プログラミング言語の int 型と double 型。

number(m,n)、mは全長、nは小数点以下の桁精度を表し、格納データの小数点以下の桁精度がnを超える場合は四捨五入した値となります。

例:number(10,3)。10 は全長、3 は小数点以下の桁数 (123.456 など)。

123.4567 を入金した場合、実際の金額は 123.457 になります。

12345679.899 が格納されており、合計の長さが 10 を超える場合、Oracle はエラーを表示します。

整数を格納する場合は、number(m) を使用してください。m は、データに格納できる最大桁数を表します。

3. 日付型

Oracle は、日付と時刻を表すために日付型を使用します。これは、次の 7 つの属性を持つ 7 バイトの固定幅のデータ型です。世紀、世紀内の年、月、日、時、分、秒。

プログラミング言語では、日付と時刻は文字列を使用して表示および記述されます。Oracle では、日付型と文字列型の間で変換するための 2 つの関数、to_date および to_char が提供されています。

例:

insert into T_GIRL(name,birthday) values('西施',to_date('2000-01-01 01:12:35','yyyy-mm-dd hh24:mi:ss'));
select name,to_char(birthday,'yyyy-mm-dd hh24:mi:ss') from T_GIRL where name='西施';
ログイン後にコピー

4. Clob および blob タイプ

clob タイプ、可変長文字列ラージ オブジェクト、最大 4GB、clobシングルバイト文字列またはマルチバイト文字列データを格納でき、clob はより大きな文字列とみなされます。データベースの文字セットが変換されると、clob タイプが影響を受けます。

Blob タイプ、可変長バイナリ ラージ オブジェクト、長さは最大 4GB。Blob は主に、画像、オーディオ、ビデオ、Office ドキュメントなどのフォーマットされた非構造化データを保存するために使用されます。データベース・キャラクタ・セットが変換される場合、BLOBタイプは影響を受けず、Oracle Databaseはどのようなコンテンツが格納されるかを気にしません。

5. Rowid タイプ

Oracle データベースの各テーブルのレコードの各行には、ストレージの物理的な場所、つまりテーブルの rowid 疑似列があります。 rowid を where 条件として使用すると、アクセス効率が最も高くなります。

ROWID はアクセス効率が最も高いですが、実際のアプリケーションでは注意が必要で、次の 2 つの問題に注意する必要があります:

1) ROWID はテーブル レコードの物理的な場所を保存します。および移行により、レコードの物理的な場所が変更されます。

2) rowid は Oracle データベース専用のデータ型であり、他のデータベースとは互換性がありません。

6. その他のデータ型

上記のコンテンツでは、アプリケーション シナリオの 99% 以上を満たすことができる、Oracle で最も一般的に使用されるデータ型が紹介されています。

Oracle は 22 の異なる SQL データ型を提供しています。他のデータ型は実用的ではないかもしれませんが、詳しく説明しなくても理解できるように、すべてをリストします。 20 年間、私は他のデータ型を使用したことがありません。

char: 固定長の文字列。最大長に達するまでスペースが埋め込まれます。 null 以外の char(10) には 10 バイトの情報が含まれます。 char フィールドには、最大 2000 バイトの情報を保存できます。

nchar: Unicode 形式のデータを含む固定長文字列。 nchar フィールドには、最大 2000 バイトの情報を保存できます。

varchar2: varchar の同義語です。これは可変長文字列であり、char 型とは異なり、フィールドや変数に最大長までスペースが埋め込まれません。 varchar(10) には 0 ~ 10 バイトの情報が含まれており、最大 4000 バイトの情報を保存できます。 12c 以降では、32767 バイトの情報を保存できるようになりました。

nvarchar2: Unicode 形式のデータを含む可変長文字列。最大 4000 バイトの情報を保存できます。 12c 以降では、32767 バイトの情報を保存できるようになりました。

raw: 可変長のバイナリ データ型。このデータ型に格納されたデータは文字セット変換されません。

number: 最大 38 桁の精度で数値を保存できます。このタイプのデータは、長さが 0 ~ 22 バイトの可変長形式で保存されます。

binary_float: 32 ビットの単精度浮動小数点数。少なくとも 6 桁の精度をサポートでき、ディスク上の 5 バイトの記憶領域を占有します。

binary_double: 64 ビットの倍精度浮動小数点数。少なくとも 15 桁の精度をサポートでき、ディスク上の 9 バイトの記憶領域を占有します。

long: この型は、最大 2GB の文字データを保存できます。

long raw: long raw 型は、最大 2GB のバイナリ情報を保存できます。

date: これは、 7 バイト単位の固定幅の日付/時刻データ型。世紀、世紀の年、月、日、時、分、秒の 7 つの属性が含まれます。

タイムスタンプ: これは、小数秒を含む 7 バイトまたは 11 バイトの固定幅の日付/時刻データ型です。

タイム ゾーン付きタイムスタンプ: これは、タイム ゾーン サポートを提供する 13 バイトのタイムスタンプです。

ローカル タイム ゾーンのタイムスタンプ: これは、7 バイトまたは 11 バイトの固定幅の日付/時刻データ型です。データの挿入および読み取り時にタイム ゾーンの変換が行われます。

interval year to month: これは、期間を格納するために使用される 5 バイトの固定幅のデータ型です。

interval day to Second: これは、期間を格納するために使用される 11 バイトの固定幅のデータ型です。期間を日/時間/分/秒として保存します。オプションで 9 秒の小数点以下も使用できます。

blob: このタイプは、最大 4 GB のデータを保存できます。

clob: このタイプは、最大 4GB のデータを保存できます。このタイプは、文字セットが変換されるときに影響を受けます。

nclob: このタイプは、最大 4GB のデータを保存できます。このタイプは、文字セットが変換されるときに影響を受けます。

bfile: このデータ型は、Oracle ディレクトリ オブジェクトとファイル名をデータベース列に格納でき、それを通じてファイルを読み取ることができます。

rowid: これは実際にはデータベース テーブル内の行のアドレスで、長さは 10 バイトです。

urowid: これは一般的な ROWID であり、固定の ROWID テーブルはありません。

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

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Oracleで2つの日付の間の日数を計算する関数 Oracleで2つの日付の間の日数を計算する関数 May 08, 2024 pm 07:45 PM

2 つの日付の間の日数を計算する Oracle の関数は DATEDIFF() です。具体的な使用法は次のとおりです。 時間間隔の単位を指定します: 間隔 (日、月、年など) 2 つの日付値を指定します: date1 と date2DATEDIFF(interval, date1, date2) 日数の差を返します。

Oracle データベースのログはどのくらいの期間保存されますか? Oracle データベースのログはどのくらいの期間保存されますか? May 10, 2024 am 03:27 AM

Oracle データベース ログの保存期間は、次のようなログのタイプと構成によって異なります。 REDO ログ: 「LOG_ARCHIVE_DEST」パラメータで構成された最大サイズによって決定されます。アーカイブ REDO ログ: 「DB_RECOVERY_FILE_DEST_SIZE」パラメータで構成された最大サイズによって決まります。オンライン REDO ログ: アーカイブされず、データベースの再起動時に失われます。保持期間はインスタンスの実行時間と一致します。監査ログ: 「AUDIT_TRAIL」パラメータによって構成され、デフォルトで 30 日間保持されます。

Oracle データベースの起動手順の順序は次のとおりです。 Oracle データベースの起動手順の順序は次のとおりです。 May 10, 2024 am 01:48 AM

Oracle データベースの起動シーケンスは次のとおりです。 1. 前提条件を確認します。 3. データベース インスタンスを起動します。 5. データベースに接続します。サービスを有効にします (必要な場合)。 8. 接続をテストします。

Oracle にはどれくらいのメモリが必要ですか? Oracle にはどれくらいのメモリが必要ですか? May 10, 2024 am 04:12 AM

Oracle が必要とするメモリーの量は、データベースのサイズ、アクティビティー・レベル、および必要なパフォーマンス・レベル (データ・バッファー、索引バッファーの保管、SQL ステートメントの実行、およびデータ・ディクショナリー・キャッシュの管理) によって異なります。正確な量は、データベースのサイズ、アクティビティ レベル、および必要なパフォーマンス レベルによって影響されます。ベスト プラクティスには、適切な SGA サイズの設定、SGA コンポーネントのサイズ設定、AMM の使用、メモリ使用量の監視などが含まれます。

オラクルで間隔を使用する方法 オラクルで間隔を使用する方法 May 08, 2024 pm 07:54 PM

Oracle の INTERVAL データ型は、時間間隔を表すために使用されます。構文は INTERVAL <precision> <unit> です。INTERVAL の演算には、加算、減算、乗算、除算を使用できます。これは、時間データの保存などのシナリオに適しています。日付の差を計算します。

Oracle で特定の文字の出現数を確認する方法 Oracle で特定の文字の出現数を確認する方法 May 09, 2024 pm 09:33 PM

Oracle で文字の出現数を確認するには、次の手順を実行します。 文字列の全長を取得します。 文字が出現する部分文字列の長さを取得します。 部分文字列の長さを減算して、文字の出現数をカウントします。全長から。

Oracle データベース サーバーのハードウェア構成要件 Oracle データベース サーバーのハードウェア構成要件 May 10, 2024 am 04:00 AM

Oracle データベース サーバーのハードウェア構成要件: プロセッサ: マルチコア、少なくとも 2.5 GHz のメイン周波数 大規模なデータベースの場合は、32 コア以上が推奨されます。メモリ: 小規模データベースの場合は少なくとも 8 GB、中規模のデータベースの場合は 16 ~ 64 GB、大規模なデータベースまたは重いワークロードの場合は最大 512 GB 以上。ストレージ: SSD または NVMe ディスク、冗長性とパフォーマンスのための RAID アレイ。ネットワーク: 高速ネットワーク (10GbE 以上)、専用ネットワーク カード、低遅延ネットワーク。その他: 安定した電源、冗長コンポーネント、互換性のあるオペレーティング システムとソフトウェア、放熱と冷却システム。

Oracle で文字列をデータベースに接続するために使用される記号は何ですか? Oracle で文字列をデータベースに接続するために使用される記号は何ですか? May 08, 2024 pm 07:36 PM

Oracle では文字列を連結するために「||」記号を使用します。使用方法は次のとおりです。接続する文字列は「||」記号で接続します。文字列接続の優先度は低く、空の文字列が空の文字列のままであることを保証するために使用する必要があります。接続; NULL 値 接続は NULL のままです。