SQL Server-gegevenstypen met voorbeelden
Wat is gegevenstype?
A Data type in SQL Server wordt gedefinieerd als het type gegevens dat elke kolom of variabele kan opslaan. Het is een type gegevens dat een object bevat, zoals een geheel getal, teken, tekenreeks, enz. Wanneer u een tabel of variabele maakt, stelt u naast het opgeven van de naam ook het type gegevens in dat het zal opslaan.
Hoe MS SQL-gegevenstype te gebruiken
- U moet vooraf definiรซren welk type gegevens een kolom of variabele kan opslaan. Het bepalen van het gegevenstype voorkomt ook dat de gebruiker onverwachte of ongeldige gegevens invoert.
- U kunt efficiรซnt gebruik maken van het geheugen door een geschikt gegevenstype toe te wijzen aan de variabele of kolom, waardoor alleen de vereiste hoeveelheid systeemgeheugen wordt toegewezen voor de gegevens van de betreffende kolom.
- MS SQL biedt een brede categorie basisgegevenstypen in SQL volgens de behoeften van de gebruiker, zoals datum, binaire afbeeldingen, enz.
Waarom DataTypes gebruiken?
Laten we een voorbeeld nemen van eenvoudig Aanmelden pagina van de websitetoepassing. Drie invoervelden zijn voornaam, achternaam en contactnummer.
Hier moeten we opmerken dat in realtime:
- "Eerste achternaam" zal altijd zijn alfabetisch.
- "Contact" zal altijd zijn numerieke.

- Uit de bovenstaande afbeelding is het de moeite waard om te definiรซren "Eerste achternaam" een karakter maximaliseren en "Contact" als geheel getal.
Het is duidelijk dat in elke toepassing alle velden het ene of het andere type gegevens bevatten. Bijvoorbeeld numeriek, alfabetisch, datum en nog veel meer.
Houd er ook rekening mee dat verschillende gegevenstypen verschillende geheugenvereisten hebben. Daarom is het zinvoller om de kolom of te definiรซren variabele met het gegevenstype dat het kan bevatten voor efficiรซnt geheugengebruik.
Gegevenstype beschikbaar in MS SQL Server
Hier vindt u een lijst met MS SQL-servergegevenstypen:
MS SQL-server ondersteunt de volgende categorieรซn van gegevenstypen:
- Exact numeriek
- Geschat numeriek
- Datum en tijd
- Tekenreeksen
- Unicode-tekenreeksen
- Binaire tekenreeksen
- Andere gegevenstypen
Exacte numerieke gegevenstypen in SQL
Exact numeriek heeft negen soorten subgegevenstypen in de SQL-server.
Exacte numerieke gegevenstypen
| Data type | Beschrijving | Onderste limiet | Bovengrens | Geheugen |
|---|---|---|---|---|
| bigint | Het slaat gehele getallen op in het opgegeven bereik | โ2^63 (โ9,223,372, 036,854,775,808) | 2^63โ1 (โ9,223,372, 036,854,775,807) | 8 bytes |
| int | Het slaat gehele getallen op in het opgegeven bereik | โ2^31 (โ2,147, 483,648) | 2^31โ1 (โ2,147, 483,647) | 4 bytes |
| kleintje | Het slaat gehele getallen op in het opgegeven bereik | โ2^15 (โ32,767) | 2^15 (-32,768) | 2 bytes |
| kleinint | Het slaat gehele getallen op in het opgegeven bereik | 0 | 255 | 1 bytes |
| beetje | De waarde kan 0, 1 of NULL zijn. | 0 | 1 | 1 byte/8bit-kolom |
| decimale | Wordt gebruikt voor schaal- en vaste precisiegetallen | โ10^38+1 | 10^381โ1 | 5 tot 17 bytes |
| numerieke | Wordt gebruikt voor schaal- en vaste precisiegetallen | โ10^38+1 | 10^381โ1 | 5 tot 17 bytes |
| geld | Gebruikte monetaire gegevens | -922,337, 203, 685,477.5808 | +922,337, 203, 685,477.5807 | 8 bytes |
| kleingeld | Gebruikte monetaire gegevens | -214,478.3648 | +214,478.3647 | 4 bytes |
Exacte numerieke gegevenstypen in SQL-server met voorbeelden:
Query:
DECLARE @Datatype_Int INT = 2 PRINT @Datatype_Int
uitgang
2
Syntaxis
Decimaal (P,S)
Hier
- P is precisie
- S is schaal
Query:
DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31 PRINT @Datatype_Decimal
uitgang
2.31
Geschatte numerieke gegevenstypen in SQL
SQL Geschatte numerieke categorie omvat drijvende-komma- en reรซle waarden. Deze datatypes in SQL worden meestal gebruikt in wetenschappelijke berekeningen.
Geschat numeriek gegevenstype
| Data type | Beschrijving | Onderste limiet | Bovengrens | Geheugen | precisie |
|---|---|---|---|---|---|
| vlotter(n) | Gebruikt voor een zwevend precisiegetal | โ1.79E+308 | 1.79E + 308 | Hangt af van de waarde van n | 7 Digit |
| vast | Gebruikt voor een zwevend precisiegetal | โ3.40E+38 | 3.40E + 38 | 4 bytes | 15 Digit |
Syntax: FLOAT [(n)]
Hier n is het aantal bits dat wordt gebruikt om de mantisse van de drijven getal in wetenschappelijke notatie. Standaard is de waarde van n 53.
Wanneer de gebruiker een gegevenstype zoals float definieert, n moet een waarde tussen 1 en 53 zijn.
SQL Server-traktaties n als een van de twee mogelijke waarden. Als 1<=n<=24, wordt n behandeld als 24. Als 25<=n<=53, wordt n behandeld als 53.
Voorbeeldquery:
DECLARE @Datatype_Float FLOAT(24) = 22.1234 PRINT @Datatype_Float
uitgang
22.1234
Datum- en tijdgegevenstypen in SQL
Het slaat gegevens op van het type Datum en tijd.
Datum- en tijdgegevenstype
| Data type | Beschrijving | Opslag grootte | Nauwkeurigheid | Lager bereik | Bovenste bereik |
|---|---|---|---|---|---|
| Datum Tijd | Wordt gebruikt voor het opgeven van een datum en tijd van 1 januari 1753 tot 31 december 9999. Het heeft een nauwkeurigheid van 3.33 milliseconden. | 8 bytes | Afgerond op stappen van .000, .003, .007 | 1753-01-01 | 9999-12-31 |
| kleinedatetime | Wordt gebruikt voor het specificeren van een datum en tijd van 1 januari 0001 tot 31 december 9999. Het heeft een nauwkeurigheid van 100 nanoseconden | 4 bytes, vast | 1 minuten | 1900-01-01 | 2079-06-06 |
| gegevens | Wordt gebruikt om alleen de datum op te slaan van 1 januari 0001 tot 31 december 9999 | 3 bytes, vast | 1 dagen | 0001-01-01 | 9999-12-31 |
| Time to | Wordt gebruikt voor het opslaan van uitsluitend tijdwaarden met een nauwkeurigheid van 100 nanoseconden. | 5 bytes | 100 nanoseconden | 00:00:00.0000000 | 23:59:59.9999999 |
| datumtijdoffset | Vergelijkbaar met datatime, maar heeft een tijdzone-offset | 10 bytes | 100 nanoseconden | 0001-01-01 | 9999-12-31 |
| datumtijd2 | Wordt gebruikt voor het opgeven van een datum en tijd van 1 januari 0001 tot 31 december 9999 | 6 bytes | 100 nanoseconden | 0001-01-01 | 9999-12-31 |
Voorbeeldquery:
DECLARE @Datatype_Date DATE = '2030-01-01' PRINT @Datatype_Date
uitgang
'2030-01-01'
Tekenreeksen Gegevenstypen in SQL
Deze categorie is gerelateerd aan een karaktertype. Hiermee kan de gebruiker het gegevenstype karakter definiรซren, dat een vaste en variabele lengte kan hebben. Het heeft vier soorten gegevenstypen. Hieronder vindt u de tekenreeks SQL-servergegevenstypen met voorbeelden.
Tekenreeksen Gegevenstypen
| Data type | Beschrijving | Onderste limiet | Bovengrens | Geheugen |
|---|---|---|---|---|
| verkolen | Het is een tekenreeks met een vaste breedte. Er kunnen maximaal 8,000 tekens worden opgeslagen. | 0 tekens | 8000 tekens | n bytes |
| Varchar | Dit is een tekenreeks met variabele breedte | 0 tekens | 8000 tekens | n bytes + 2 bytes |
| Varchar (max) | Dit is een tekenreeks met een variabele breedte. Er kunnen maximaal 1,073,741,824 tekens worden opgeslagen. | 0 tekens | 2^31 tekens | n bytes + 2 bytes |
| tekst | Dit is een tekenreeks met een variabele breedte. Er kan maximaal 2 GB aan tekstgegevens worden opgeslagen. | 0 tekens | 2,147,483,647 tekens | n bytes + 4 bytes |
Voorbeeldquery:
DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype' PRINT @Datatype_Char
uitgang
Dit is het tekengegevenstype
Unicode-tekenreeksen Gegevenstypen in SQL
In deze categorie wordt het volledige bereik van Unicode-tekens opgeslagen die gebruik maken van de UTF-16-tekencodering.
Unicode-tekenreeksgegevenstypen
| Data type | Beschrijving | Onderste limiet | Bovengrens | Geheugen |
|---|---|---|---|---|
| nachar | Het is een Unicode-tekenreeks met een vaste breedte | 0 tekens | 4000 tekens | 2 keer n bytes |
| nvarchar | Het is een Unicode-tekenreeks met variabele breedte | 0 tekens | 4000 tekens | 2 keer n bytes + 2 bytes |
| ntekst | Het is een Unicode-tekenreeks met variabele breedte | 0 tekens | 1,073,741,823 tekens | 2 keer de snaarlengte |
Voorbeeldquery:
DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype' PRINT @Datatype_nChar
uitgang
Dit is nCharacter-gegevenstype
Binaire tekenreeksgegevenstypen in SQL
Deze categorie bevat een binaire reeks met vaste en variabele lengte.
Binaire tekenreeksgegevenstypen
| Data type | Beschrijving | Onderste limiet | Bovengrens | Geheugen |
|---|---|---|---|---|
| binair | Het is een binaire string met vaste breedte. Er kan maximaal 8,000 bytes worden opgeslagen. | 0 bytes | 8000 bytes | n bytes |
| varbinair | Dit is een binaire reeks met variabele breedte. Er kan maximaal 8,000 bytes worden opgeslagen | 0 bytes | 8000 bytes | De werkelijke lengte van de ingevoerde gegevens + 2 bytes |
| beeld | Dit is een binaire reeks met variabele breedte. Er kan maximaal 2 GB worden opgeslagen. | 0 bytes | 2,147,483,647 bytes |
Voorbeeldquery:
DECLARE @Datatype_Binary BINARY(2) = 12; PRINT @Datatype_Binary
uitgang
0x000C
Andere gegevenstypen in SQL
Dit zijn andere verschillende SQL-servergegevenstypen met de onderstaande beschrijving:
| Data type | Beschrijving |
|---|---|
| Cursor | De uitvoer is een kolom van sp_cursor_lijst maximaliseren en sp_describe_cursor. Het retourneert de naam van de cursorvariabele. |
| Rij-versie | Deze versie stempelt tabelrijen. |
| Hiรซrarchie | Dit datatype vertegenwoordigt een positie in de hiรซrarchie |
| Unieke identificatie | Conversie van een karakteruitdrukking. |
| SQL_variant | Het slaat waarden op van door SQL-server ondersteunde gegevenstypen. |
| XML | Het slaat XML-gegevens op in een kolom. |
| Type ruimtelijke geometrie | Het vertegenwoordigt gegevens in een vlak coรถrdinatensysteem. |
| Type ruimtelijke geografie | Het vertegenwoordigt gegevens in het coรถrdinatensysteem van de ronde aarde. |
| tafel | Er wordt een resultatenset opgeslagen voor latere verwerking. |
Interessante feiten!
- CHAR-gegevenstype is sneller dan het gegevenstype SQL VARCHAR bij het ophalen van gegevens.
Samenvatting
- Elke kolom in tabellen wordt tijdens het maken van de tabel gedefinieerd met zijn gegevenstype.
- Er zijn zes hoofdcategorieรซn en รฉรฉn andere categorie met diversen. Andere diversen hebben negen subcategorieรซn van SQL-server gegevenstypen en -groottes beschikbaar.
