Kom godt i gang med SQL

Datatyper

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.

Strenge af typen Character

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.

Character-streng med fast længde

CHAR(x) er en streng med fast længde. Længdeangivelsen x skal være mellem 1 og 254.

Character-streng med variabel længde

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.

Dobbeltbytestreng af typen Character

En dobbeltbyte Character-streng er en sekvens af dobbeltbyte tegn.

Dobbeltbyte Character-streng med fast længde

GRAPHIC(x) er en streng med fast længde. Længdeangivelsen x skal være mellem 1 og 127.

Dobbeltbyte Character-streng med variabel længde

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.

Binær streng

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).

Tal

Alle tal har et fortegn og en præcision. Præcisionen er antallet af bit eller cifre, ekskl. fortegnet.

SMALLINT
SMALLINT (lille heltal) er et tobyte heltal med en præcision på 5 cifre.

INTEGER
INTEGER (heltal) er et firebyte heltal med en præcision på 10 cifre.

BIGINT
BIGINT (stort heltal) er et heltal på 8 byte med en præcision på 19 cifre.

REAL
REAL (enkeltpræcisionstal med flydende decimaltegn) er en 32-bit tilnærmelse til et reelt tal.

DOUBLE
DOUBLE (dobbeltpræcisionstal med flydende decimaltegn) er en 64-bit tilnærmelse til et reelt tal. DOUBLE kaldes også FLOAT.

DECIMAL(p,a)

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

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

Dato
En dato er en tredelt værdi (år, måned og dag).

Klokkeslæt
Et klokkeslæt er en tredelt værdi (timer, minutter og sekunder), som angiver en tid på døgnet.

Tidsstempel
Et tidsstempel er en syvdelt værdi (år, måned, dag, timer, minutter, sekunder og mikrosekunder), der angiver en dato og et klokkeslæt.

NULL-værdi

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.


Fodnoter:

1
I bogen her bruges ISO-værdierne for dato/klokkeslæt.


[ Øverst på siden | Forrige side | Næste side | Indholdsfortegnelse | Stikordsregister ]