Datentypen definieren die für Konstanten, Spalten, Host-Variablen, Funktionen, Ausdrücke und Sonderregister zulässigen Werte. Dieser Abschnitt beschreibt die Datentypen, auf die in den Beispielen Bezug genommen wird. Eine vollständige Liste und umfassende Beschreibung weiterer Datentypen enthält das Handbuch SQL Reference.
Eine Zeichenfolge ist eine Folge von Byte. Die Länge der Zeichenfolge entspricht der Anzahl der Byte in der Folge. Ist die Länge gleich Null, wird der Wert als leere Zeichenfolge bezeichnet.
CHAR(x) ist eine Zeichenfolge mit fester Länge. Der Wert für das Längenattribut x muß zwischen 1 und 254 (einschließlich) liegen.
Zeichenfolgen mit variabler Länge haben einen der folgenden drei Datentypen: VARCHAR, LONG VARCHAR und CLOB.
Datentypen VARCHAR(x) sind Zeichenfolgen mit variabler Länge. Daher kann eine Zeichenfolge mit der Länge von 9 in VARCHAR(15) eingefügt werden. Sie behält jedoch die Zeichenfolgenlänge 9 bei.
Ausführliche Informationen zum Datentyp CLOB finden Sie unter Große Objekte (LOB).
Eine Grafikzeichenfolge ist eine Folge von Doppelbytezeichendaten.
GRAPHIC(x) ist eine Zeichenfolge mit fester Länge. Der Wert für das Längenattribut x muß zwischen 1 und 127 (einschließlich) liegen.
Grafikzeichenfolgen mit variabler Länge haben einen der folgenden drei Datentypen: VARGRAPHIC, LONG VARGRAPHIC und DBCLOB. Ausführliche Informationen zum Datentyp DBCLOB finden Sie unter Große Objekte (LOB).
Eine Binärzeichenfolge ist eine Folge von Byte. Sie enthält nicht konventionelle Daten wie beispielsweise Bilder. BLOB (Binary Large OBject - großes Binärobjekt) ist eine Binärzeichenfolge. Weitere Informationen finden Sie unter Große Objekte (LOB).
Alle Zahlen haben ein Vorzeichen und eine Genauigkeit. Die Genauigkeit gibt die Anzahl der Bit oder Stellen ausschließlich des Vorzeichens an.
Ein DECIMAL-Wert ist eine Dezimalzahl. Die Position des Dezimalzeichens wird durch die Genauigkeit (p) und die Anzahl der Kommastellen (s) der Zahl definiert. Die Genauigkeit gibt die Gesamtzahl der Ziffern an und muß kleiner als 32 sein. Die Anzahl der Kommastellen ist die Anzahl der Ziffern im Bruchteil und immer kleiner-gleich des Genauigkeitswerts. Ein DECIMAL-Wert hat standardmäßig die Genauigkeit 5 und die Anzahl der Kommastellen 0, wenn Genauigkeit und Anzahl der Kommastellen nicht angegeben werden.
Werte für Datum und Uhrzeit stellen Daten, Uhrzeiten und Zeitmarken dar. (Eine Zeitmarke ist eine 14 Ziffern umfassende Zeichenfolge, die einen gültigen Wert für Datum und Uhrzeit im Format jjjjxxtthhmmss angibt). Werte für Datum und Uhrzeit können in bestimmten Arithmetik- und Zeichenfolgeoperationen verwendet werden und sind mit bestimmten Zeichenfolgen kompatibel. Werte für Datum und Uhrzeit sind jedoch weder Zeichenfolgen noch Zahlen. 1
Der Nullwert ist ein Sonderwert, der sich von allen anderen Werten, die keine Nullwerte sind, unterscheidet. Er gibt an, daß für diese Spalte in der Zeile kein anderer Wert vorhanden ist. Der Nullwert ist bei allen Datentypen möglich.
Die folgende Tabelle hebt die Kenndaten für die Datentypen hervor, die in
den Beispielen verwendet werden. Alle numerischen Datentypen sind in
einem bestimmten Bereich definiert. Der Bereich der numerischen
Datentypen ist in der Tabelle ebenfalls angegeben. Sie können diese
Tabelle als Kurzübersicht für den richtigen Einsatz von Datentypen
verwenden.
Datentyp | Typ | Merkmal | Beispiel oder Bereich |
---|---|---|---|
CHAR(15) | Zeichenfolge mit fester Länge | Maximale Länge: 254 | 'Sonntag ' |
VARCHAR(15) | Zeichenfolge mit variabler Länge | Maximale Länge: 32672 | 'Sonntag' |
SMALLINT | Zahl | Länge: 2 Byte, Genauigkeit: 5 Ziffern | Bereich: -32768 bis 32767 |
INTEGER | Zahl | Länge: 4 Byte, Genauigkeit: 10 Ziffern | Bereich: -2147483648 bis 2147483647 |
BIGINT | Zahl | Länge: 8 Byte, Genauigkeit: 19 Ziffern | Bereich: -9223372036854775808 bis 9223372036854775807 |
REAL | Zahl | Gleitkommazahl mit einfacher Genauigkeit, näherungsweise 32-Bit-Entsprechung | Bereich: -3.402E+38 bis -1.175E-37 oder 1.175E-37 bis -3.402E+38 oder Null |
DOUBLE | Zahl | Gleitkommazahl mit doppelter Genauigkeit, näherungsweise 64-Bit-Entsprechung | Bereich: -1.79769E+308 bis -2.225E-307 oder 2.225E-307 bis 1.79769E+308 oder Null |
DECIMAL(5,2) | Zahl | Genauigkeit: 5, Anzahl der Kommastellen: 2 | Bereich: -10**31+1 bis 10**31-1 |
DATE | Wert für Datum und Uhrzeit | Dreiteiliger Wert | 1991-10-27 |
TIME | Wert für Datum und Uhrzeit | Dreiteiliger Wert | 13.30.05 |
TIMESTAMP | Wert für Datum und Uhrzeit | Siebenteiliger Wert | 1991-10-27-13.30.05.000000 |
Weitere Informationen enthält die Tabelle für die Kompatibilität von Datentypen, die Sie im Handbuch SQL Reference finden.