Microsoft SQL Server
Gegevenstypen
Zoeken…
Invoering
In deze sectie worden de gegevenstypen besproken die SQL Server kan gebruiken, inclusief hun gegevensbereik, lengte en eventuele beperkingen.
Exacte cijfers
Er zijn twee basisklassen van exacte numerieke gegevenstypen - Geheel getal en Vaste precisie en schaal .
Geheel gegevenstypen
- beetje
- tinyint
- smallint
- int
- bigint
Gehele getallen zijn numerieke waarden die nooit een fractioneel deel bevatten en die altijd een vaste hoeveelheid opslag gebruiken. Het bereik en de opslaggrootte van de gegevenstypen met gehele getallen worden in deze tabel weergegeven:
Data type | reeks | opslagruimte |
---|---|---|
beetje | 0 of 1 | 1 bit ** |
tinyint | 0 tot 255 | 1 byte |
smallint | -2 ^ 15 (-32.768) tot 2 ^ 15-1 (32.767) | 2 bytes |
int | -2 ^ 31 (-2.147.483.648) tot 2 ^ 31-1 (2.147.483.647) | 4 bytes |
bigint | -2 ^ 63 (-9.223.372.036.854.775.808) tot 2 ^ 63-1 (9.223.372.036.854.775.807) | 8 bytes |
Vaste precisie en schaal gegevenstypen
- numerieke
- decimale
- smallmoney
- geld
Deze gegevenstypen zijn handig om getallen exact weer te geven. Zolang de waarden passen binnen het bereik van de waarden die in het gegevenstype kunnen worden opgeslagen, heeft de waarde geen afrondingsproblemen. Dit is handig voor alle financiële berekeningen, waarbij afrondingsfouten resulteren in klinische krankzinnigheid voor accountants.
Merk op dat decimaal en numeriek synoniemen zijn voor hetzelfde gegevenstype.
Data type | reeks | opslagruimte |
---|---|---|
Decimaal [(p [, s])] of Numeriek [(p [, s])] | -10 ^ 38 + 1 tot 10 ^ 38 - 1 | Zie Precisietabel |
Wanneer u een decimaal of numeriek gegevenstype definieert, moet u mogelijk de Precisie [p] en Schaal [s] opgeven.
Precisie is het aantal cijfers dat kan worden opgeslagen. Als u bijvoorbeeld waarden tussen 1 en 999 moet opslaan, hebt u een Precisie van 3 nodig (om de drie cijfers in 100 te houden). Als u geen precisie opgeeft, is de standaardprecisie 18.
Schaal is het aantal cijfers achter de komma. Als u een getal tussen 0.00 en 999.99 moet opslaan, moet u een Precisie van 5 (vijf cijfers) en een Schaal van 2 (twee cijfers na de komma) opgeven. U moet een precisie opgeven om een schaal op te geven. De standaardschaal is nul.
De precisie van een decimaal of numeriek gegevenstype definieert het aantal bytes dat nodig is om de waarde op te slaan, zoals hieronder weergegeven:
Precisietabel
precisie | Opslagbytes |
---|---|
1 - 9 | 5 |
10-19 | 9 |
20-28 | 13 |
29-38 | 17 |
Monetaire vaste gegevenstypen
Deze gegevenstypen zijn specifiek bedoeld voor boekhoudkundige en andere monetaire gegevens. Dit type heeft een vaste schaal van 4 - u ziet altijd vier cijfers achter de komma. Voor de meeste systemen die met de meeste valuta's werken, is het gebruik van een numerieke waarde met een schaal van 2 voldoende. Merk op dat er geen informatie over het weergegeven type valuta wordt opgeslagen met de waarde.
Data type | reeks | opslagruimte |
---|---|---|
geld | -922.337.203.685.477.5808 tot 922.337.203.685.477.5807 | 8 bytes |
smallmoney | -214.748.3648 tot 214.748.3647 | 4 bytes |
Geschatte cijfers
- zweven [( n )]
- echt
Deze gegevenstypen worden gebruikt om drijvende-kommagetallen op te slaan. Aangezien deze typen alleen bij benadering numerieke waarden bevatten, mogen deze niet worden gebruikt in gevallen waarin een afrondingsfout onaanvaardbaar is. Als u echter zeer grote getallen, of getallen met een onbepaald aantal cijfers achter de komma moet verwerken, kunnen deze uw beste optie zijn.
Data type | reeks | Grootte |
---|---|---|
vlotter | -1.79E + 308 tot -2.23E-308, 0 en 2.23E-308 tot 1.79E + 308 | hangt af van n in onderstaande tabel |
echt | -3.40E + 38 tot -1.18E - 38, 0 en 1.18E - 38 tot 3.40E + 38 | 4 bytes |
n waardetabel voor floatnummers . Als er geen waarde is opgegeven in de aangifte van de vlotter, wordt de standaardwaarde 53 gebruikt. Merk op dat float (24) het equivalent is van een reële waarde.
n waarde | precisie | Grootte |
---|---|---|
1-24 | 7 cijfers | 4 bytes |
25-53 | 15 cijfers | 8 bytes |
Datum en tijd
Deze typen zijn in alle versies van SQL Server
- datum Tijd
- smalldatetime
Deze typen zijn in alle versies van SQL Server na SQL Server 2012
- datum
- DateTimeOffset
- datetime2
- tijd
Tekenreeksen
- verkolen
- varchar
- tekst
Unicode-tekenreeksen
- nchar
- nvarchar
- ntext
Binaire Strings
- binair
- varbinary
- beeld
Andere gegevenstypen
- cursor
- tijdstempel
- hierarchyid
- uniqueidentifier
- sql_variant
- xml
- tafel
- Ruimtelijke Soorten