Datatyper angiver gyldige værdier for konstanter, kolonner, værtsvariabler, funktioner, udtryk og specialregistre. I dette afsnit beskrives de datatype, der bruges i eksemplerne. Der er en fuldstændig oversigt over og beskrivelse af datatyper i SQL Reference.
En Character-streng er en bytesekvens. Længden på strengen er antallet af byte i sekvensen. Hvis længden er nul, kaldes værdien en tom streng.
CHAR(x) er en streng med fast længde. Længdeangivelsen x skal være mellem 1 og 254.
Der er tre typer Character-strenge med variabel længde: VARCHAR, LONG VARCHAR og CLOB.
VARCHAR(x)-strenge har variabel længde, så en streng med længden 9 kan godt indsættes i VARCHAR(15), men strengens længde er stadig 9.
Under Store objekter (LOB) er der flere oplysninger om CLOB.
En dobbeltbyte Character-streng er en sekvens af dobbeltbyte tegn.
GRAPHIC(x) er en streng med fast længde. Længdeangivelsen x skal være mellem 1 og 127.
Der er tre typer dobbeltbyte Character-strenge med variabel længde: VARGRAPHIC, LONG VARGRAPHIC og DBCLOB. Under Store objekter (LOB) er der flere oplysninger om DBCLOB.
En binær streng er en bytesekvens. Den bruges til opbevaring af specielle data, f.eks. billeder. Et binært stort objekt (BLOB) er en binær streng. Der er flere oplysninger under Store objekter (LOB).
Alle tal har et fortegn og en præcision. Præcisionen er antallet af bit eller cifre, ekskl. fortegnet.
DECIMAL er et decimaltal. Decimaltegnets position afgøres af tallets præcision (p) og antal decimaler (a). Præcisionen er det samlede antal cifre, som skal være mindre end 32. Antallet af decimaler er antallet af cifre til højre for decimaltegnet, som altid er mindre end eller lig med værdien for præcision. Hvis intet andet angives, bruges standardværdierne 5 for præcision og 0 for antal decimaler.
Værdier for dato/klokkeslæt er datoer, klokkeslæt og tidsstempler (en Character-streng på 14 cifre, der repræsenterer en gyldig dato/klokkeslætværdi i formatet ååååmmddttmmss). Værdierne kan benyttes i visse matematiske funktioner og strengfunktioner og er kompatible med visse strenge, men de er hverken strenge eller tal. 1
Værdien NULL er en særlig værdi, som adskiller sig fra alle ikke-NULL-værdier. Den angiver, at der ikke er nogen værdi for den kolonne i rækken. NULL-værdien findes for alle datatyper.
Nedenfor vises kendetegnene for de datatyper, der benyttes i
eksemplerne. Alle numeriske datatyper ligger inden for et givet
interval. Intervallet vises også nedenfor. Oversigten kan bruges
til at få et hurtigt overblik over datatyperne.
Datatype | Type | Kendetegn | Eksempel eller interval |
---|---|---|---|
CHAR(15) | Character-streng med fast længde | Maksimumslængde på 254 | 'Godt vejr ' |
VARCHAR(15) | Character-streng
med variabel længde | Maksimumslængde
på 32672 | 'Godt vejr' |
SMALLINT | tal | 2 byte langt
præcision på 5 cifre | interval fra -32768
til 32767 |
INTEGER | tal | 4 byte langt
præcision på 10 cifre | interval fra -2147483648
til 2147483647 |
BIGINT | tal | 8 byte langt
præcision på 19 cifre | interval fra
-9223372036854775808 til 9223372036854775807 |
REAL | tal | enkelt præcision
flydende decimaltegn 32-bit tilnærmelse | interval fra
-3.402E+38 til -1.175E-37 eller 1.175E-37 til -3.402E+38 eller nul |
DOUBLE | tal | dobbelt præcision
flydende decimaltegn 64-bit tilnærmelse | interval fra
-1.79769E+308 til -2.225E-307 eller 2.225E-307 til 1.79769E+308 eller nul |
DECIMAL(5,2) | tal | præcision = 5
antal decimaler = 2 | interval fra
-10**31+1 til 10**31-1 |
DATE | dato/- klokkeslæt | tredelt værdi | 1991-10-27 |
TIME | dato/- klokkeslæt | tredelt værdi | 13.30.05 |
TIMESTAMP | dato/- klokkeslæt | syvdelt værdi | 1991-10-27-13.30.05.000000 |
Der er flere oplysninger i oversigten over datatypekompatibilitet i SQL Reference.