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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow