SQL datatyper

Datatyper och räckvidder som används av Microsoft Access, MySQL och SQL Server.

Microsoft Access datatyper

Datatyp Beskrivning Lagra
Text För text eller kombinationer av text och siffror. Max 255 tecken.  
Memo

Memo används för större mängder text. Max 65,536 tecken kan lagras.

Kommentar: Memo-fält kan inte sorteras. De är dock sökbara.

 
Byte Tillåter heltal mellan 0 och 255. 1 tecken
Integer Tillåter heltal mellan -32,768 och 32,767. 2 tecken
Long Tillåter alla heltal mellan -2,147,483,648 och 2,147,483,647. 4 byte
Single Enkel precision flyttal. Hanterar de flesta decimaler. 4 byte
Double Dubbel precision flyttal. Hanterar de flesta decimaler. 8 tecken
Currency

För valuta. Stödjer 15 siffror, plus 4 decimaler.

Tips: Du kan välja vilket lands valuta du vill använda.

8 tecken
AutoNumber AutoNumber-fältet tilldelar automatiskt ett nummer till varje post, vanligtvis börjar från 1. 4 byte
Date/Time För datum och tid 8 tecken
Yes/No

Logiska fält, som kan visas som Yes/No, True/False eller På/Av.

Använd konstanterna True och False i koden (ekvivalent med 1 och 0)

Kommentar: Null-värden är inte tillåtna i Yes/No-fält.

1 bit
Ole Object Kan lagra bilder, ljud, video eller andra BLOBs (Binary Large OBjects) Max 1GB
Hyperlink Innehåller länkar till andra filer, inklusive webbsidor.  
Lookup Wizard Tillåter dig att skapa en lista med alternativ att välja från följande lista. 4 byte

MySQL datatyper

I MySQL finns det tre huvudsakliga typer: text, numeriska och datum/tidstyper.

Texttyp:

Datatyp Beskrivning
CHAR(DECIMAL() Spara strängar med fast längd (kan innehålla bokstäver, siffror och specialtecken). Ange längden i parenteser. Max 255 tecken.
VARCHAR(DECIMAL()

Spara strängar med variabel längd (kan innehålla bokstäver, siffror och specialtecken). Ange den maximala längden i parenteser. Max 255 tecken.

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

TINYTEXT Kommentar: Om värdeets längd är större än 255 omvandlas det till TEXT-typ.
TINYTEXT Lagra strängar med max längd 255 tecken.
TEXT Lagra strängar med max längd 65,535 tecken.
BLOB Används för BLOBs (Binary Large OBjects). Lagra högst 65,535 byte data.
MEDIUMTEXT Lagra strängar med max längd 16,777,215 tecken.
MEDIUMBLOB Används för BLOBs (Binary Large OBjects). Lagra högst 16,777,215 byte data.
LONGTEXT Lagra strängar med max längd 4,294,967,295 tecken.
LONGBLOBAnvänds för BLOBs (Binary Large OBjects). Lagra högst 4,294,967,295 byte data.,ENUM(,xy

z

,etc.)

Tillåter dig att ange en lista över möjliga värden. Du kan lista högst 65535 värden i ENUM-listan. Om värdet inte finns i listan läggs ett tomt värde in.

Kommentar: Dessa värden lagras i den ordning du anger. Du kan ange möjliga värden i följande format: ENUM('X','Y','Z')

Number-typen:

Datatyp Beskrivning
SETDECIMAL() Liknande ENUM, men SET kan endast innehålla högst 64 listposter, men SET kan lagra mer än ett värde.
SMALLINT(DECIMAL() -32768 till 32767 vanlig. 0 till 65535 oigenkodat *. Angiv max antal siffror inom parentes.
MEDIUMINT(DECIMAL() -8388608 till 8388607 vanlig. 0 till 16777215 oigenkodat *. Angiv max antal siffror inom parentes.
INT(DECIMAL() -2147483648 till 2147483647 konventionell. 0 till 4294967295 oigenkodat *. Angiv max antal siffror inom parentes.
BIGINT(DECIMAL() -9223372036854775808 till 9223372036854775807 konventionell. 0 till 18446744073709551615 oigenkodat *. Angiv max antal siffror inom parentes.
FLOAT(DECIMAL(,size) Talltal med flytande decimalpunkt. Angiv max antal siffror inom parentes. Angiv max antal decimaltecken till höger om decimalpunkten i d-parametern.
DOUBLE(DECIMAL(,size) DOUBLE(
Stora tal med flyttande decimalpunkt. Angiv max antal siffror inom parentes. Angiv max antal decimaler till höger om decimalpunkten i d-argumentet.DECIMAL(,size) d

Dekimal typ som lagras som sträng, tillåter fast decimalpunkt.

Datumtyp:

Datatyp Beskrivning
*Dessa heltals typer har extra alternativ UNSIGNED. Normalt kan heltalen vara negativa eller positiva. Om du lägger till UNSIGNED-attributet börjar intervallet från 0 istället för ett negativt tal.

DATE()

Datum. Format: YYYY-MM-DD

Kommentar: Det stödda intervallet är från '1000-01-01' till '9999-12-31'

DATETIME()

*Kombination av datum och tid. Format: YYYY-MM-DD HH:MM:SS

Kommentar: Det stödda intervallet är från '1000-01-01 00:00:00' till '9999-12-31 23:59:59'

TIMESTAMP()

*Tidsstämpel. TIMESTAMP-värden används för att lagra en beskrivning av Unix-epochen ('1970-01-01 00:00:00' UTC) till idag. Format: YYYY-MM-DD HH:MM:SS

TIME()

Tid. Format: HH:MM:SS

Kommentar: Det stödda intervallet är från '-838:59:59' till '838:59:59'

YEAR()

År i 2 eller 4siffrigt format.

Kommentar: De tillåtna värdena för 4siffriga format är 1901 till 2155. De tillåtna värdena för 2siffriga format är 70 till 69, vilket representerar åren 1970 till 2069.

* Även om DATETIME och TIMESTAMP returnerar samma format, fungerar de mycket olika. I INSERT eller UPDATE-frågor sätter TIMESTAMP automatiskt sig själv till den aktuella datum- och tidspunkten. TIMESTAMP accepterar också olika format, till exempel YYYYMMDDHHMMSS, YYMMDDHHMMSS, YYYYMMDD eller YYMMDD.

SQL Server datatyper

Teckensträng:

Datatyp Beskrivning Lagra
char(n) Strängar med fast längd. Max 8,000 tecken. n
varchar(n) Strängar med variabel längd. Max 8,000 tecken.  
varchar(max) Strängar med variabel längd. Max 1,073,741,824 tecken.  
text Strängar med variabel längd. Max 2GB tecken data.  

Unicode-strängar:

Datatyp Beskrivning Lagra
nchar(n) Fast längd Unicode-data. Max 4,000 tecken.  
nvarchar(n) Varaktiga Unicode-data med variabel längd. Max 4,000 tecken.  
nvarchar(max) Varaktiga Unicode-data med variabel längd. Max 536,870,912 tecken.  
ntext Varaktiga Unicode-data med variabel längd. Max 2GB tecken data.  

Binary-typen:

Datatyp Beskrivning Lagra
bit Tillåter 0, 1 eller NULL  
binary(n) Fast längd binära data. Max 8,000 tecken.  
varbinary(n) Varaktiga binära data med variabel längd. Max 8,000 tecken.  
varbinary(max) Varaktiga binära data med variabel längd. Max 2GB tecken.  
image Varaktiga binära data med variabel längd. Max 2GB.  

Number-typen:

Datatyp Beskrivning Lagra
tinyint Tillåter alla tal mellan 0 och 255. 1 tecken
smallint Tillåter alla tal mellan -32,768 och 32,767. 2 tecken
int Tillåter alla tal mellan -2,147,483,648 och 2,147,483,647. 4 byte
bigint Tillåter alla tal mellan -9,223,372,036,854,775,808 och 9,223,372,036,854,775,807. 8 tecken
decimal(p,s)

Fast precision och proportionella tal. Tillåter tal från -10^38 +1 till 10^38 -1.

p-argumentet indikerar max antal tecken som kan lagras (till vänster och till höger om decimaltecknet). p måste vara ett värde mellan 1 och 38. Standardvärdet är 18.

s-argumentet indikerar max antal decimaler som kan lagras till höger om decimaltecknet. s måste vara ett värde mellan 0 och p. Standardvärdet är 0.

5-17 tecken
numeric(p,s)

Fast precision och proportionella tal. Tillåter tal från -10^38 +1 till 10^38 -1.

p-argumentet indikerar max antal tecken som kan lagras (till vänster och till höger om decimaltecknet). p måste vara ett värde mellan 1 och 38. Standardvärdet är 18.

s-argumentet indikerar max antal decimaler som kan lagras till höger om decimaltecknet. s måste vara ett värde mellan 0 och p. Standardvärdet är 0.

5-17 tecken
smallmoney Valutauppgifter mellan -214,748.3648 och 214,748.3647. 4 byte
money Valutauppgifter mellan -922,337,203,685,477.5808 och 922,337,203,685,477.5807. 8 tecken
float(n)

Flyttal med flyttalens noggrannhet från -1.79E + 308 till 1.79E + 308.

Parametern n indikerar om fältet sparar 4 tecken eller 8 tecken. float(24) sparar 4 tecken, medan float(53) sparar 8 tecken. Standardvärdet för n är 53.

4 eller 8 byte
real Flyttal med flyttal med precision från -3.40E + 38 till 3.40E + 38. 4 byte

Datumtyp:

Datatyp Beskrivning Lagra
datetime Från 1 januari 1753 till 31 december 9999, med precision på 3.33 millisekunder. 8 bytes
datetime2 Från 1 januari 1753 till 31 december 9999, med precision på 100 nanosekunder. 6-8 bytes
smalldatetime Från 1 januari 1900 till 6 juni 2079, med precision på 1 minut. 4 bytes
date Lagra endast datum. Från 1 januari 0001 till 31 december 9999. 3 bytes
time Lagra endast tid. Närmare precision är 100 nanosekunder. 3-5 bytes
datetimeoffset Liksom datetime2, plus tidszonflyttning. 8-10 bytes
timestamp Lagra unika nummer som uppdateras varje gång ett rad skapas eller ändras. Timestamp baseras på intern klocka och motsvarar inte verklig tid. Varje tabell kan ha endast en timestamp-variabel.  

Andra datatyper:

Datatyp Beskrivning
sql_variant Lagra data av olika datatyper, upp till 8,000 tecken, utom text, ntext och timestamp.
uniqueidentifier Lagra unika globala identifierare (GUID).
xml Lagra XML-formaterade data. Max 2GB.
cursor Lagra referenser till pekare som används för databasoperationer.
table Lagra resultatuppsättningen för senare behandling.