Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle-Datentypen

Wenn Sie eine Oracle-Tabelle erstellen, müssen Sie für jede Spalte einen Datentyp angeben, der einem bestimmten Speicherformat, Einschränkungen und einem gültigen Wertebereich zugeordnet ist. Vor dem Erstellen der Tabelle ist die Kenntnis der Datentypen erforderlich. Hier in diesem Artikel sehen wir wichtige Oracle-Datentypen, die Sie häufig in PLSQL, SQL verwenden werden, während Sie mit Oracle-Datenbanken arbeiten

Oracle bietet die folgenden Kategorien integrierter Datentypen:
Zeichendatentypen
Numerische Datentypen
DATE-Datentyp
LOB-Datentypen
RAW- und LONG-RAW-Datentypen
ROWID- und UROWID-Datentypen

Zeichendatentyp

-CHAR, NCHAR, VARCHAR2 &NVARCHAR2.

Der Datentyp CHAR ist eine alphanumerische Zeichenkette fester Länge, die eine maximale Länge in Bytes hat.

- Beim Erstellen eines CHAR-Datentyps bewahrt die Datenbank Platz für die eingehenden Daten, und wenn die Daten kürzer als die maximale Größe sind, werden sie rechts mit Leerzeichen aufgefüllt

Wenn Sie beispielsweise eine Variable/Spalte vom Datentyp CHAR (5) deklarieren, werden immer 5 Bytes benötigt, unabhängig davon, ob Sie 1 Zeichen oder 5 Zeichen in dieser Variablen oder Spalte speichern. Da wir in diesem Beispiel diese Variable/Spalte als CHAR(5) deklariert haben, können wir in dieser Spalte maximal 5 Zeichen speichern.

-Der Datentyp VARCHAR2 ist eine alphanumerische Zeichenfolge variabler Länge, die eine maximale Länge in Bytes hat. Es kann bis zu 4000 Bytes speichern.

VARCHAR2 ist ein Datentyp mit variabler Länge. Wenn Sie beispielsweise eine Variable/Spalte des Datentyps VARCHAR 2(10) deklarieren, entspricht die Anzahl der Bytes der Anzahl der in dieser Spalte gespeicherten Zeichen. Wenn Sie also in dieser Variablen/Spalte nur ein Zeichen speichern, wird nur ein Byte benötigt, und wenn wir 10 Zeichen speichern, werden 10 Bytes benötigt. Da wir in diesem Beispiel diese Variable/Spalte als VARCHAR2 (10) deklariert haben, können wir in dieser Spalte maximal 10 Zeichen speichern. Der genutzte Speicherplatz hängt von den Werten in der Spalte ab und es wird kein Speicherplatz verschwendet.

Außerdem möchte ich hier eine Sache betonen, dass, wenn wir VARCHAR2 (10) geben, hier 10 die Anzahl der Bytes ist, nicht das Zeichen. Die Anzahl der Zeichen und Bytes ist ähnlich, wenn es sich um ASCII-Zeichen handelt, aber die Gleichung wird geändert, wir beginnen mit der Verwendung anderer Zeichen als ASCII

The length semantics of character datatypes can be measured in bytes or characters.

Byte semantics treat strings as a sequence of bytes. This is the default for character datatypes.

Character semantics treat strings as a sequence of characters. A character is technically a codepoint of the database character set.

So VARCHAR (10 Byte) has length measured in byte. VARCHAR (10 CHAR)  has length measured in character.

The default for VARCHAR is based on NLS_LENGTH_SEMANTICS parameter set in the database. By default this is set to Byte,so when we use VARCHAR(10) , it uses length measured in byte

-Der Datentyp VARCHAR ist gleichbedeutend mit dem Datentyp VARCHAR2. Um mögliche Verhaltensänderungen zu vermeiden, verwenden Sie immer den Datentyp VARCHAR2, um Zeichenfolgen variabler Länge zu speichern.

-NCHAR und NVARCHAR2 sind Unicode-Datentypen, die Unicode-Zeichendaten speichern. Der Zeichensatz der Datentypen NCHAR und NVARCHAR2 kann nur entweder AL16UTF16 oder UTF8 sein und wird zum Zeitpunkt der Datenbankerstellung als nationaler Zeichensatz angegeben. AL16UTF16 und UTF8 sind beide Unicode-Codierungen.

Example

create table test  (
First_name char(6),
Last_name varchar2(10));

Zahlendatentyp

-NUMMER oder NUMMER(p,s)

-Der Datentyp NUMBER(p,s) speichert Zahlen mit Genauigkeit und Skalierung.

– Der Datentyp NUMBER speichert bis zu 38 Stellen Genauigkeit

-Numerische Datentypen speichern negative und positive ganze Zahlen, Festkommazahlen und Gleitkommazahlen

-Wenn eine Spalte als ZAHL (6, 2) definiert ist, kann der Wertebereich von –9999,99 bis 9999,99 gespeichert werden. Also haben wir die Gesamtziffer als 6 und 4 Ziffern vor dem Dezimalzeichen und 2 Ziffern nach dem Dezimalzeichen. Oracle rundet die Gleitkommazahlen.

Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number;
Salary number(10,2)
); 

Datum und Uhrzeit

–DATE, TIMESTAMP (mit Zeitzone oder lokaler Zeitzone),

-Der Datentyp DATE wird verwendet, um Datums- und Zeitinformationen zu speichern.

-Dieser Datentyp hat eine Reihe spezifischer Funktionen zum Bearbeiten, Formatieren und Anzeigen seiner Daten.

-Der DATE-Datentyp enthält sieben Bytes und enthält Informationen über Jahrhundert, Jahr, Monat, Tag, Stunden, Minuten und Sekunden.
-Der Parameter NLS_DATE_FORMAT kann geändert werden, um die Anzeige der Daten zu steuern. Die Funktion SYSDATE gibt das aktuelle Datum zurück

–Die Oracle-Datenbank bietet auch den zeitzonenbewussten DATE-Datentyp

ZEITSTEMPEL MIT ZEITZONE
ZEITSTEMPEL MIT LOKALER ZEITZONE

 Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number,
Salary number(10,2),
start_date date );

Große Objekte

-BLOB(binäres großes Objekt) , CLOB(Character Large Object) , NCLOB &BFILE

-Spalten dieser Datentypen können unstrukturierte Daten speichern, einschließlich Text, Bild, Video und räumliche Daten. -Der Datentyp CLOB kann bis zu acht Terabyte Zeichendaten unter Verwendung des Zeichensatzes der CHAR-Datenbank speichern.

-Der BLOB-Datentyp wird verwendet, um unstrukturierte binäre große Objekte zu speichern, z. B. solche, die mit Bild- und Videodaten verbunden sind, wobei die Daten einfach ein Strom von „Bit“-Werten sind.

-Der Wert des Datentyps BFILE fungiert als Dateisucher oder Zeiger auf eine Datei im Dateisystem des Servers. Die maximal unterstützte Dateigröße beträgt 8 TB bis 128 TB.

Lang

Zeichendaten variabler Länge bis zu 2 G

rowid

Ein 64-Basis-Zahlensystem, das die eindeutige Adresse der Zeile in der Tabelle darstellt

Ich hoffe, Ihnen gefällt dieser Inhalt zu Oracle-Datentypen

Verwandte Artikel

Oracle-Indizes
Oracle-Interviewfragen
Datumsfunktionen in Oracle
INSERT-Anweisung in Oracle
Update-Anweisung in Oracle
Überprüfen aller Einschränkungen für eine Tabelle in Oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832