Wenn Sie eine Tabelle in einer Datenbank erstellen, müssen Sie die Typen aller Felder in der Tabelle definieren. ORACLE bietet viele Datentypen, um Ihren Anforderungen gerecht zu werden. Datentypen werden grob unterteilt in: Zeichen-, Zahlen-, Datums-, LOB- und RAW-Typen. Obwohl Sie mit ORACLE8i auch Datentypen anpassen können, handelt es sich dabei um die grundlegendsten Datentypen.
Im folgenden Artikel erfahren Sie mehr über deren Verwendung, Einschränkungen und zulässige Werte in Oracle.
Zeichendatentyp
Der Datentyp „Zeichen“ wird zum Speichern alphanumerischer Daten verwendet. Wenn Sie Zeichendaten in Oracle definieren, müssen Sie normalerweise die Länge des Felds angeben, bei der es sich um die maximale Länge des Felds handelt. ORACLE stellt die folgenden Zeichendatentypen bereit:
CHAR() Der Datentyp CHAR ist ein String mit einer festen Länge und einer maximalen Länge. Daten, die in Feldern vom Datentyp CHAR gespeichert sind, werden mit Leerzeichen auf die maximale Länge aufgefüllt. Die Länge ist zwischen 1 und 2000 Bytes definiert.
Wenn Sie ein CHAR-Feld erstellen, stellt die Datenbank sicher, dass alle Daten in diesem Feld die definierte Länge haben. Wenn ein Datenelement kürzer als die definierte Länge ist, werden Leerzeichen verwendet, um die rechte Seite der Daten auf die definierte Länge aufzufüllen Länge. Wenn die Länge größer als die definierte Länge ist, wird eine Fehlermeldung ausgelöst.
VARCHAR() Daten vom Typ Varchar sind eine Momentaufnahme der Daten vom Typ Varchar2.
VARCHAR2() Der Datentyp varchar2 sind alphanumerische Daten variabler Länge und einer maximalen Länge. Die Feldlänge des Typs Varchar2 kann 4000 Bytes erreichen, und die variable Länge des Typs Varchar2 kann 32676 Bytes erreichen.
Ein leeres varchar2(2000)-Feld nimmt denselben Platz ein wie ein leeres varchar2(2)-Feld.
NCHAR() und NVARCHAR2() Die Datentypen NCHAR() und NVARCHAR2() sind mit den Typen CHAR() bzw. VARCHAR2() identisch, außer dass sie zum Speichern von NLS-Daten (National Language Support) verwendet werden.
LONG Der Datentyp LONG ist ein veralteter Datentyp und wird in Zukunft nicht mehr unterstützt. Er wird durch den Datentyp LOB (Large Object) ersetzt.
Vergleichsregeln Für die Datentypen Varchar2 und char gelten unterschiedliche Vergleichsregeln, die auf nachgestellten Leerzeichen basieren. Bei Daten vom Typ „Char“ werden nachgestellte Leerzeichen ignoriert. Bei Daten vom Typ „Varchar2“ ist die Sortierung von Daten mit nachgestellten Leerzeichen größer als die ohne Leerzeichen. Zum Beispiel:
Daten vom Typ Char: 'YO'='YO '
Daten vom Typ Varchar2: 'YO'<'YO '
Datentyp „Numerisch“ Der Datentyp „Numerisch“ wird zum Speichern negativer und positiver Ganzzahlen, Brüche und Gleitkommadaten im Bereich von -1*10-103 bis 9,999...99*10125 mit 38-Bit-Genauigkeit verwendet. Beim Identifizieren von Daten, die diesen Bereich überschreiten, tritt ein Fehler auf.
Number(,) Der Datentyp „Number“ speichert Daten auf S-Bit-Ebene mit p-Bit-Genauigkeit.
DATE-Datentyp
Der Datentyp DATE wird zum Speichern von Daten im Datums- und Uhrzeitformat verwendet. Dieses Format kann zum Durchsuchen in Daten in anderen Formaten konvertiert werden und verfügt über spezielle Funktionen und Eigenschaften zur Steuerung und Berechnung. Die folgenden Informationen sind im Datentyp DATE enthalten:
Jahrhundert
Jahr
Monat
Tag
Stunde
Minute
Zweite
LOB-Datentyp Der LOB-Datentyp (Large Object) speichert unstrukturierte Daten wie Binärdateien, Grafikdateien oder andere externe Dateien. LOBs können bis zu einer Größe von 4 GByte gespeichert werden. Daten können in der Datenbank oder in externen Datendateien gespeichert werden. Die Steuerung der LOB-Daten wird über das DBMS_LOB-Paket implementiert. BLOB-, NCLOB- und CLOB-Daten können in verschiedenen Tabellenbereichen gespeichert werden, und BFILE wird in einer externen Datei auf dem Server gespeichert. Zu den LOB-Datentypen gehören die folgenden:
BLOB: Binärdaten CLOB: Zeichendaten BFILE: Binärdatei, andere Datentypen ROWID Der ROWID-Datentyp ist eine Pseudospalte in der ORACLE-Datentabelle, die die inhärente eindeutige Kennung jeder Datenzeile in der Datentabelle darstellt.
Dieser Artikel stammt aus dem CSDN-Blog. Bitte geben Sie beim Nachdruck die Quelle an: http://blog.csdn.net/chenliubin/archive/2009/12/21/5046504.aspx
-