SQL-Datentyp
SQL liefert ein ganze Reihe von Datentypen, die standardisiert sind. Allerdings weichen die Datenbankhersteller davon ab, in dem sie zusätzlich eigene Datentypen anbieten.
Die wichtigsten SQL-Datentypen sind:
- INTEGER, BIGINT oder SMALLINT für ganze Zahlen
- Die Datenbankhersteller legen hier die Grenzen fest
- NUMERIC, DECIMAL oder NUMBER (n,m) für Festkommazahlen
- n meint die gesamte Anzahl der Stellen, m die Nachkommastellen
- FLOAT und DOUBLE für Gleitkommazahlen
- CHARACTER(n) oder CHAR(n) für Zeichenketten der Länge n
- VARCHAR, CHARACTER VARYING oder (VARCHAR2 bei Oracle) für Zeichenketten variabler Länge
- DATE, TIME und TIMESTAMP für Datum mit und ohne Zeitangabe
- BOOLEAN für boolesche Wahrheitswerte wahr, falsch und unknown (siehe : dreiwertige-Logik)
- wird leider von den meisten DB-Herstellern nicht implementiert und
- BLOB und CLOB (Binäry Large Objects) für Multi-Media-Datentypen
- XML? für XML-Dokumente
DATE ist ein SQL-Datentyp für formatierte Datumsfelder. Für jeden DATE—Datentyp werden gespeichert:
- das Jahr
- der Monat und
- der Tag
Der DATE-Datentyp von Oracle umfasst zusätzlich auch die Uhrzeit mit
- Stunden.
- Minuten und
- Sekunden
und entspricht damit den ANSI- und MySQL—Datentypen TIMESTAMCP und DATETIME, die mittlerweile von Oracle auch unterstützt werden.
Quellen:
- ANSI/ISO/IEC 9075-1:2003. Part 1 "SQL/Framework", ISO International Organization for Standardization / ANSI American National Standards Institute, September 2003
- ANSI/ISO/IEC 9075-2:2003. Part 2 "SQL/Foundation", ISO International Organization for Standardization / ANSI American National Standards Institute, Dezember 2003
- Oracle® Database PL/SQL Language Reference 11g Release 2 (11.2), E10472-06, http://download.oracle.com/docs/cd/E11882_01/appdev.112/e10472.pdf
- Oracle® Database SQL Language Reference 11g Release 2 (11.2), E10592-04, http://download.oracle.com/docs/cd/E11882_01/server.112/e10592.pdf
- Türker, Can/Saake, Gunter: "Objektrelationale Datenbanken", dpunkt-Verlag, Heidelberg, 2006, ISBN 3-89864-190-2
Kategorie: Objektrelationale DB, SQL, D