SQL Data Types

Datatypen en bereik die worden gebruikt in Microsoft Access, MySQL en SQL Server.

Microsoft Access datatypen

Datatype Beschrijving Opslaan
Text Voor tekst of een combinatie van tekst en cijfers. Maximaal 255 tekens.  
Memo

Memo voor een grotere hoeveelheid tekst. Kan maximaal 65,536 tekens opslaan.

Opmerking: Memo-velden kunnen niet worden gesorteerd. Ze zijn echter doorzoekbaar.

 
Byte Staat getallen tussen 0 en 255 toe. 1 byte
Integer Staat getallen tussen -32,768 en 32,767 toe. 2 bytes
Long Staat alle getallen tussen -2,147,483,648 en 2,147,483,647 toe. 4 bytes
Single Enkele precisie floating point. Handelt de meeste decimalen af. 4 bytes
Double Dubbele precisie floating point. Handelt de meeste decimalen af. 8 bytes
Currency

Voor valuta. Ondersteunt 15 decimalen, plus 4 cijfers achter de komma.

Tip: Je kunt de valuta van een land kiezen.

8 bytes
AutoNumber AutoNumber-velden kregen automatisch een nummer toegewezen aan elk record, meestal begint met 1. 4 bytes
Date/Time Voor datum en tijd 8 bytes
Yes/No

Logische velden die kunnen worden weergegeven als Yes/No, True/False of Aan/Uit.

Gebruik in de code de constante True en False (equivalent aan 1 en 0).

Opmerking: Null-waarden zijn niet toegestaan in Yes/No-velden.

1 bit
Ole Object Kan afbeeldingen, audio, video of andere BLOBs (Binary Large OBjects) opslaan. Maximaal 1GB
Hyperlink Bevat links naar andere bestanden, inclusief webpagina's.  
Lookup Wizard Laat je een lijst van opties kiezen die je kunt maken van de volgende lijst. 4 bytes

MySQL datatypen

In MySQL zijn er drie hoofdtypen: tekst, getal en datum/tijd.

Text type:

Datatype Beschrijving
CHAR(DECIMAL() Opslaan van strings met vaste lengte (kan letters, cijfers en speciale tekens bevatten). Specificeer de lengte van de string in de rechten haken. Maximaal 255 tekens.
VARCHAR(DECIMAL()

Opslaan van strings met variabele lengte (kan letters, cijfers en speciale tekens bevatten). Specificeer de maximale lengte van de string in de rechten haken. Maximaal 255 tekens.

注释:如果值的长度大于 255,则被转换为 TEXT 类型。

TINYTEXT Opmerking: Als de lengte van de waarde groter is dan 255, wordt deze omgezet naar het TEXT-type.
TINYTEXT Bevat een tekenreeks met een maximale lengte van 255 tekens.
TEXT Bevat een tekenreeks met een maximale lengte van 65,535 tekens.
BLOB Gebruikt voor BLOBs (Binary Large OBjects). Bevat maximaal 65,535 bytes gegevens.
MEDIUMTEXT Bevat een tekenreeks met een maximale lengte van 16,777,215 tekens.
MEDIUMBLOB Gebruikt voor BLOBs (Binary Large OBjects). Bevat maximaal 16,777,215 bytes gegevens.
LONGTEXT Bevat een tekenreeks met een maximale lengte van 4,294,967,295 tekens.
LONGBLOBGebruikt voor BLOBs (Binary Large OBjects). Bevat maximaal 4,294,967,295 bytes gegevens.,ENUM(,xy

z

,etc.)

Staat je toe een lijst van mogelijke waarden in te voeren. Men kan maximaal 65535 waarden in een ENUM-lijst opnemen. Als de op te nemen waarde niet in de lijst voorkomt, wordt een lege waarde ingevoegd.

Opmerking: Deze waarden worden opgeslagen in de volgorde waarin ze zijn ingevoerd. Men kan de mogelijke waarden in deze volgorde invoeren: ENUM('X','Y','Z')

Number type:

Datatype Beschrijving
SETDECIMAL() Soortgelijk aan ENUM, een SET kan maximaal 64 lijstitems bevatten, maar een SET kan meer dan één waarde opslaan.
SMALLINT(DECIMAL() -32768 tot 32767 gewoon. 0 tot 65535 ongesigneerd*. Het maximumaantal cijfers wordt in haakjes vastgesteld.
MEDIUMINT(DECIMAL() -8388608 tot 8388607 gewoon. 0 tot 16777215 ongesigneerd*. Het maximumaantal cijfers wordt in haakjes vastgesteld.
INT(DECIMAL() -2147483648 tot 2147483647 conventioneel. 0 tot 4294967295 ongesigneerd*. Het maximumaantal cijfers wordt in haakjes vastgesteld.
BIGINT(DECIMAL() -9223372036854775808 tot 9223372036854775807 conventioneel. 0 tot 18446744073709551615 ongesigneerd*. Het maximumaantal cijfers wordt in haakjes vastgesteld.
FLOAT(DECIMAL(,grootte) Kleine getallen met drijvend komma, waarbij het maximumaantal cijfers in haakjes wordt vastgesteld. Het maximumaantal cijfers na de komma wordt in de parameter d vastgesteld.
DOUBLE(DECIMAL(,grootte) DOUBLE(
Grote cijfers met een bewegend decimaalpunt. Stel in de rechte haken het maximale aantal cijfers in. Stel in het d parameter het maximale aantal cijfers achter de decimaalpunt in.DECIMAL(,grootte) d

Als string opgeslagen DOUBLE-type, staat een vaste decimaalpunt toe.

Date type:

Datatype Beschrijving
* Deze gehele getalstypen hebben aanvullende opties UNSIGNED. Integers kunnen normaal gesproken negatief of positief zijn. Als de UNSIGNED-eigenschap wordt toegevoegd, begint het bereik bij 0 in plaats van een bepaald negatief getal.

DATE()

Datum. Formaat: YYYY-MM-DD

Opmerking: Ondersteunde bereik is van '1000-01-01' tot '9999-12-31'

DATETIME()

* Combinatie van datum en tijd. Formaat: YYYY-MM-DD HH:MM:SS

Opmerking: Ondersteunde bereik is van '1000-01-01 00:00:00' tot '9999-12-31 23:59:59'

TIMESTAMP()

* Tijdstempel. TIMESTAMP-waarden gebruiken een beschrijving van de Unix-epoch ('1970-01-01 00:00:00' UTC) tot op heden om op te slaan. Formaat: YYYY-MM-DD HH:MM:SS

TIME()

Tijd. Formaat: HH:MM:SS

Opmerking: Ondersteunde bereik is van '-838:59:59' tot '838:59:59'

YEAR()

Jaar in 2 of 4 cijfers.

Opmerking: Waarden toegestaan bij 4-cijferige formaten: 1901 tot 2155. Waarden toegestaan bij 2-cijferige formaten: 70 tot 69, wat staat voor 1970 tot 2069.

* Hoewel DATETIME en TIMESTAMP dezelfde opmaak retourneren, werken ze verschillend. In INSERT of UPDATE queries stelt TIMESTAMP zichzelf automatisch in op de huidige datum en tijd. TIMESTAMP accepteert ook verschillende formaten, zoals YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD of YYMMDD.

SQL Server datatyper

Karakter string:

Datatype Beschrijving Opslaan
char(n) String van vaste lengte. Maximaal 8,000 karakters. n
varchar(n) String van variabele lengte. Maximaal 8,000 karakters.  
varchar(max) String van variabele lengte. Maximaal 1,073,741,824 karakters.  
text String van variabele lengte. Maximaal 2GB karakters gegevens.  

Unicode string:

Datatype Beschrijving Opslaan
nchar(n) Fixed-length Unicode data. Up to 4,000 characters.  
nvarchar(n) Variable-length Unicode data. Up to 4,000 characters.  
nvarchar(max) Variable-length Unicode data. Up to 536,870,912 characters.  
ntext Variable-length Unicode data. Up to 2GB character data.  

Binary type:

Datatype Beschrijving Opslaan
bit Allows 0, 1, or NULL  
binary(n) Fixed-length binary data. Up to 8,000 bytes.  
varbinary(n) Variable-length binary data. Up to 8,000 bytes.  
varbinary(max) Variable-length binary data. Up to 2GB bytes.  
image Variable-length binary data. Up to 2GB.  

Number type:

Datatype Beschrijving Opslaan
tinyint Allows all numbers from 0 to 255. 1 byte
smallint Allows all numbers from -32,768 to 32,767. 2 bytes
int Allows all numbers from -2,147,483,648 to 2,147,483,647. 4 bytes
bigint Allows all numbers between -9,223,372,036,854,775,808 and 9,223,372,036,854,775,807. 8 bytes
decimal(p,s)

Fixed precision and scale numbers. Allows numbers from -10^38 +1 to 10^38 -1.

The p parameter indicates the maximum number of digits that can be stored (both to the left and right of the decimal point). p must be a value between 1 and 38. The default is 18.

The s parameter indicates the maximum number of decimal places stored to the right of the decimal point. s must be a value between 0 and p. The default is 0.

5-17 bytes
numeric(p,s)

Fixed precision and scale numbers. Allows numbers from -10^38 +1 to 10^38 -1.

The p parameter indicates the maximum number of digits that can be stored (both to the left and right of the decimal point). p must be a value between 1 and 38. The default is 18.

The s parameter indicates the maximum number of decimal places stored to the right of the decimal point. s must be a value between 0 and p. The default is 0.

5-17 bytes
smallmoney Currency data between -214,748.3648 and 214,748.3647. 4 bytes
money Currency data between -922,337,203,685,477.5808 and 922,337,203,685,477.5807. 8 bytes
float(n)

Floating-point number data with precision from -1.79E + 308 to 1.79E + 308.

Parameter n indicates whether the field stores 4 bytes or 8 bytes. float(24) stores 4 bytes, while float(53) stores 8 bytes. The default value of n is 53.

4 of 8 bytes
real Floating point nummers met precisie van -3.40E + 38 tot 3.40E + 38. 4 bytes

Date type:

Datatype Beschrijving Opslaan
datetime Van 1 januari 1753 tot 31 december 9999, precisie van 3.33 milliseconden. 8 bytes
datetime2 Van 1 januari 1753 tot 31 december 9999, precisie van 100 nanoseconden. 6-8 bytes
smalldatetime Van 1 januari 1900 tot 6 juni 2079, precisie van 1 minuut. 4 bytes
date Alleen datum opslaan. Van 1 januari 0001 tot 31 december 9999. 3 bytes
time Alleen tijd opslaan. Precisie van 100 nanoseconden. 3-5 bytes
datetimeoffset Gelijk aan datetime2, plus tijdzoneafwijking. 8-10 bytes
timestamp Opslaan van een unieke nummer, die wordt bijgewerkt bij het aanmaken of wijzigen van een rij. Timestamp is gebaseerd op een interne klok en komt niet overeen met de werkelijke tijd. Elke tabel kan maar één timestamp variabele hebben.  

Andere datatypes:

Datatype Beschrijving
sql_variant Opslaan van gegevens van verschillende datatypes, maximaal 8,000 bytes, behalve text, ntext en timestamp.
uniqueidentifier Opslaan van unieke identifiers (GUID).
xml Opslaan van geformatteerde XML-gegevens. Maximaal 2GB.
cursor Opslaan van verwijzingen naar pointers die worden gebruikt voor databaseoperaties.
tabel Resultaten van de opslag, voor later verwerking.