Oracle-Feldtypen: 1. CHAR, Zeichenfolge mit variabler Länge; 3. LONG, Zeichenfolge mit extra langer Länge; 5. FLOAT, Daten vom Typ Gleitkomma; . REAL, reeller Zahlentyp; 7. DATE, Datumstypdaten usw.
Die Betriebsumgebung dieses Tutorials: Windows 10-System, Oracle 11g-Version, Dell G3-Computer.
CHAR Die maximale Länge von Zeichenfolgen fester Länge beträgt 2000 Bytes die indiziert werden kann, ist 749
DATUM Datum (Tag-Monat-Jahr) DD-MM-YY(HH-MI-SS) Nach strengen Tests keine tausend Fehler
LONG Die maximale Länge einer superlangen Zeichenfolge beträgt 2G (231- 1), genug, um große Werke zu speichern 2G Wie oben
BLOB Die maximale Länge von Binärdaten beträgt 4G
CLOB Die maximale Länge von Zeichendaten 4G
NCLOB Die maximale Länge von Zeichendaten abhängig vom Zeichensatz 4G
BFILE Die maximale Länge der außerhalb der Datenbank gespeicherten Binärdaten. 4G
ROWID Die in der Datentabelle aufgezeichnete eindeutige Zeilennummer. 10 Bytes *** *****.****.**** Format, * ist 0 oder 1
NROWID Die maximale Länge der eindeutigen Zeilennummer, die in der Binärdatentabelle aufgezeichnet wird, beträgt 4000 Bytes
NUMBER(P,S) Numerischer Typ P ist die Ganzzahlziffer, S ist die Dezimalziffer
DECIMAL(P,sans-serif; line-height:23.4px"> INTEGER Ganzzahliger Typ, kleine Ganzzahl
FLOAT Gleitkommatyp NUMBER(38), doppelte Genauigkeit
REAL reelle Zahl Typ NUMBER(63 ), höhere Präzision
Zum Beispiel: Zahl (3,0), geben Sie 575.316 ein, die tatsächlich gespeicherten Daten sind 575.
Datum Es gibt keine gesetzlichen Daten vom 1. Januar 4712 v. Chr. bis zum 31. Dezember 4712 n. Chr.
Oracle 8i speichert Datumsdaten tatsächlich in 7 Bytes und die Definition umfasst auch Stunden, Minuten und Sekunden.
Das Standardformat ist TT-MON-JJ, zum Beispiel bedeutet 07-November-00 den 7. November 2000.
long Keine Zeichenfolge mit variabler Länge, die maximale Längenbeschränkung beträgt 2 GB, wird für lange Zeichenfolgendaten verwendet, die keine Zeichenfolgensuche erfordern. Wenn Sie eine Zeichensuche durchführen möchten, müssen Sie den Typ varchar2 verwenden.
long ist ein älterer Datentyp und wird in Zukunft schrittweise durch große Objektdatentypen wie BLOB, CLOB und NCLOB ersetzt.
raw(n) n=1 bis 2000 Binärdaten variabler Länge, die maximale Länge n muss bei der spezifischen Definition des Feldes angegeben werden. Oracle 8i verwendet dieses Format, um kleinere Grafikdateien oder formatierte Textdateien, wie z. B. Miceosoft Word-Dokumente, zu speichern.
raw ist ein älterer Datentyp und wird in Zukunft schrittweise durch große Objektdatentypen wie BLOB, CLOB und NCLOB ersetzt.
long raw Keine Binärdaten variabler Länge, die maximale Länge beträgt 2 GB. Oracle 8i verwendet dieses Format zum Speichern großer Grafikdateien oder formatierter Textdateien, wie z. B. Miceosoft Word-Dokumente, sowie Nicht-Textdateien wie Audio und Video.
Sie können nicht gleichzeitig einen Long-Typ und einen Long-Rohtyp in derselben Tabelle haben. Long Raw ist ebenfalls ein älterer Datentyp und wird in Zukunft nach und nach durch große Objektdatentypen wie BLOB, CLOB und NCLOB ersetzt.
blob, clob, nclob Keine Drei große Objekte (LOB), die zum Speichern großer Grafikdateien oder formatierter Textdateien wie Miceosoft Word-Dokumente und Nicht-Textdateien wie Audio und Video verwendet werden. Die maximale Länge beträgt 4 GB.
Es gibt verschiedene Arten von LOBs, abhängig von der Art der Bytes, die Sie verwenden. Oracle 8i speichert diese Daten tatsächlich in der Datenbank.
Kann spezielle Vorgänge wie Lesen, Speichern und Schreiben ausführen.
bfile Keine Eine große binäre Objektdatei, die außerhalb der Datenbank gespeichert wird. Die maximale Länge beträgt 4 GB.
Dieser externe LOB-Typ zeichnet Änderungen über die Datenbank auf, die konkrete Speicherung der Daten erfolgt jedoch außerhalb der Datenbank.
Oracle 8i kann BFILE lesen und abfragen, aber nicht schreiben.
Größe wird vom Betriebssystem bestimmt.
Ein Datentyp ist ein Attribut in einer Spalte oder einer gespeicherten Prozedur.
Die von Oracle unterstützten Datentypen können in drei grundlegende Kategorien unterteilt werden: Zeichendatentypen, numerische Datentypen und Datentypen, die andere Daten darstellen.
Character-Datentyp
CHAR Der char-Datentyp speichert Zeichenwerte fester Länge. Ein CHAR-Datentyp kann 1 bis 2000 Zeichen enthalten. Wenn für CHAR keine Länge explizit angegeben wird, wird die Standardlänge auf 1 gesetzt. Wenn einer Variablen vom Typ CHAR ein Wert zugewiesen wird und seine Länge kleiner als die angegebene Länge ist, füllt Oracle ihn automatisch mit Leerzeichen.
VARCHAR2 speichert längenfähige Zeichenfolgen. Obwohl auch die Länge einer VARCHAR2-Datenvariablen angegeben werden muss, bezieht sich diese Länge auf die maximale Länge der Variablenzuweisung und nicht auf die tatsächliche Zuweisungslänge. Kein Füllen mit Leerzeichen erforderlich. Bis zu 4000 Zeichen einstellbar. Da der Datentyp VARCHAR2 nur die der Spalte zugewiesenen Zeichen (ohne Leerzeichen) speichert, benötigt VARCHAR2 weniger Speicherplatz als der Datentyp CHAR.
Oracle empfiehlt die Verwendung von VARCHAR2
NCHAR und NVARCHAR2 Die Datentypen NCHAR und NVARCHAR2 speichern Zeichenfolgen fester bzw. variabler Länge, verwenden jedoch andere Zeichensätze als andere Typen in der Datenbank. Beim Erstellen einer Datenbank müssen Sie den Zeichensatz angeben, der zum Codieren der Daten in den Daten verwendet wird. Sie können auch einen Hilfszeichensatz [d. h. den lokalen Sprachsatz] angeben. Spalten vom Typ NCHAR und NVARCHAR2 verwenden sekundäre Zeichensätze. Spalten vom Typ NCHAR und NVARCHAR2 verwenden sekundäre Zeichensätze.
In Oracle 9i ist es möglich, die Länge von NCHAR- und NVARCHAR2-Spalten in Zeichen statt in Bytes auszudrücken. Der lange Datentyp
LONG kann 2 GB Zeichendaten speichern und wird von früheren Versionen geerbt. Wenn Sie nun große Datenmengen speichern, empfiehlt Oracle die Verwendung der Datentypen CLOB und NCLOB. Es gibt viele Einschränkungen bei der Verwendung des LONG-Typs in Tabellen und SQL-Anweisungen.
CLOB und NCLOB Die Datentypen CLOB und NCLOB können bis zu 4 GB Zeichendaten speichern. Der NCLOB-Datentyp kann NLS-Daten speichern.
Zahlendatentyp
Oracle verwendet ein standardmäßiges internes Format mit variabler Länge zum Speichern von Zahlen. Dieses interne Format kann eine Genauigkeit von bis zu 38 Bit haben.
Der Datentyp NUMBER kann zwei Qualifikationsmerkmale haben, z. B.: Spalte NUMBER (Genauigkeit, Skalierung). Präzision stellt die Anzahl der signifikanten Ziffern in der Zahl dar. Wenn keine Genauigkeit angegeben ist, verwendet Oracle 38 als Genauigkeit. Die Skala stellt die Anzahl der Stellen rechts vom Dezimalpunkt dar. Die Skala ist standardmäßig auf 0 eingestellt. Wenn „scale“ auf eine negative Zahl eingestellt ist, rundet Oracle die Zahl auf die angegebene Anzahl von Stellen links vom Dezimalpunkt.
Datumsdatentyp
Oracles Standard-Datumsformat ist: TT-MON-JJ HH:MI:SS
Durch Ändern des Instanzparameters NLS_DATE_FORMAT können Sie das Format des in die Instanz eingefügten Datums ändern. Während einer Sitzung können Sie das Datum mit dem SQL-Befehl Alter session ändern oder einen bestimmten Wert aktualisieren, indem Sie die Parameter im TO_DATE-Ausdruck der SQL-Anweisung verwenden.
Andere Datentypen
RAW und LONG RAW Die Datentypen RAW und LONG RAW werden hauptsächlich zur Interpretation der Datenbank verwendet. Bei der Angabe dieser beiden Typen speichert Oracle Daten in Bitform. Der RAW-Datentyp wird im Allgemeinen zum Speichern von Objekten in einem bestimmten Format verwendet, beispielsweise Bitmaps. Der RAW-Datentyp kann 2 KB Speicherplatz belegen, während der LONG RAW-Datentyp 2 GB Speicherplatz beanspruchen kann.
ROWID ROWID ist ein spezieller Spaltentyp, der Pseudospalte genannt wird. Auf ROWID-Pseudospalten kann wie auf gewöhnliche Spalten in SQL-SELECT-Anweisungen zugegriffen werden. Jede Zeile in der Oracle-Datenbank verfügt über eine Pseudospalte. ROWID stellt die Adresse der Zeile dar und die ROWID-Pseudospalte wird mit dem ROWID-Datentyp definiert.
ROWID bezieht sich auf einen bestimmten Speicherort auf dem Festplattenlaufwerk, daher ist ROWID der schnellste Weg, die Zeile abzurufen. Allerdings ändert sich die ROWID einer Zeile, wenn die Datenbank entladen und neu geladen wird. Daher wird empfohlen, den Wert der ROWID-Pseudospalte nicht in einer Transaktion zu verwenden. Beispielsweise gibt es keinen Grund, die ROWID einer Zeile zu speichern, sobald die aktuelle Anwendung die Verwendung des Datensatzes beendet hat. Der Wert der standardmäßigen ROWID-Pseudospalte kann nicht über eine SQL-Anweisung festgelegt werden.
Eine Spalte oder Variable kann als ROWID-Datentyp definiert werden, Oracle kann jedoch nicht garantieren, dass der Wert der Spalte oder Variablen eine gültige ROWID ist.
LOB-Datentyp (Large Object), der 4 GB an Informationen speichern kann. LOB hat die folgenden 3 Typen:
, das nur Zeichendaten speichern kann
, lokale Sprachzeichensatzdaten speichern
und Daten in binären Informationen speichern
Sie können angeben, ob LOB-Daten in einer Oracle-Datenbank oder gespeichert werden sollen Zeigen Sie auf eine Datei, die externe Dateien für Sekundärdaten enthält.
LOB kann an Transaktionen teilnehmen. Die Daten im LOB müssen über das integrierte PL/SQL-Softwarepaket DBMS_LOB oder die OGI-Schnittstelle verwaltet werden.
Um die Konvertierung von LONG-Datentypen in LOBs zu erleichtern, enthält Oracle 9i eine Reihe von Funktionen, die sowohl LOBs als auch LONGs unterstützen, einschließlich einer neuen Option für die ALTER TABLE-Anweisung, die die automatische Konvertierung von LONG-Datentypen in LOBs ermöglicht.
BFILE
Der BFILE-Datentyp wird als Zeiger auf eine Datei verwendet, die außerhalb der Oracle-Datenbank gespeichert ist.
XML-Typ
Als Teil seiner Unterstützung für XML enthält Oracle 9i einen neuen Datentyp, XML Type. Eine als XMLType definierte Spalte speichert ein XML-Dokument in einer Zeichen-LOB-Spalte. Es gibt viele integrierte Funktionen, mit denen Sie einzelne Knoten aus einem Dokument extrahieren und einen Index für jeden Knoten in einem XML-Typdokument erstellen können.
Ab Oracle 8 können Benutzer ihre eigenen komplexen Datentypen definieren, die aus Oracle-Basisdatentypen bestehen.
AnyType, AnyData und AnyDataSet
Oracle enthält 3 neue Datentypen zum Definieren von Datenstrukturen außerhalb bestehender Datentypen. Jeder dieser Datentypen muss mithilfe einer Programmeinheit definiert werden, damit Oracle9i weiß, wie mit der spezifischen Implementierung dieser Typen umzugehen ist.
Typkonvertierung
Oracle konvertiert bestimmte Datentypen automatisch in andere Datentypen. Die Konvertierung hängt von der SQL-Anweisung ab, die den Wert enthält.
Die Datenkonvertierung kann auch explizit über die Typkonvertierungsfunktionen von Oracle durchgeführt werden.
Verbindung und Vergleich
Auf den meisten Plattformen wird der Verbindungsoperator in Oracle SQL durch zwei vertikale Balken (||) dargestellt. Durch die Verkettung werden zwei Zeichenwerte verbunden. Die automatische Typkonvertierungsfunktion von Oracle ermöglicht die Verkettung zweier numerischer Werte.
NULL
Der NULL-Wert ist eines der wichtigen Merkmale relationaler Datenbanken. Tatsächlich stellt NULL keinen Wert dar, es bedeutet keinen Wert. Wenn Sie eine Spalte der Tabelle erstellen möchten, die einen Wert haben muss, sollten Sie ihn als NOT NULL angeben, was bedeutet, dass die Spalte keine NULL-Werte enthalten darf.
Jedem Datentyp kann ein NULL-Wert zugewiesen werden. Der NULL-Wert führt die Drei-Zustands-Logik von SQL-Operationen ein. Wenn eine Seite des Vergleichs ein NULL-Wert ist, werden drei Zustände angezeigt: WAHR, FALSCH und keiner von beiden.
Da der NULL-Wert nicht gleich 0 oder einem anderen Wert ist, kann die Prüfung, ob bestimmte Daten ein NULL-Wert sind, nur über den Vergleichsoperator IS NULL erfolgen.
NULL-Werte eignen sich besonders für folgende Situationen: wenn einer Spalte noch kein Wert zugewiesen wurde. Wenn Sie keine NULL-Werte verwenden möchten, müssen Sie allen Spalten der Zeile Werte zuweisen. Dadurch wird effektiv die Möglichkeit ausgeschlossen, dass eine Spalte keinen Wert benötigt und der ihr zugewiesene Wert leicht missverstanden werden kann. Diese Situation kann den Endbenutzer irreführen und zu fehlerhaften Ergebnissen kumulativer Vorgänge führen.
Empfohlenes Tutorial: „Oracle Video Tutorial“
Das obige ist der detaillierte Inhalt vonWelche Feldtypen gibt es in Oracle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!