SQL Server DataTypes: Varchar, Numeric, Date Time (T-SQL-voorbeelden)

Inhoudsopgave:

Anonim

Wat is datatype?

Een datatype wordt gedefinieerd als het type gegevens dat elke kolom of variabele kan opslaan in MS SQL Server.

Terwijl u een tabel of variabele maakt, geeft u niet alleen de naam op, maar stelt u ook het type gegevens in dat wordt opgeslagen.

Hoe MS SQL-datatype te gebruiken

  • U moet van tevoren bepalen welk type gegevens een kolom of variabele kan opslaan. Door het gegevenstype te bepalen, kan de gebruiker ook geen onverwachte of ongeldige gegevens invoeren.
  • U kunt het geheugen efficiënt gebruiken door een geschikt gegevenstype toe te wijzen aan een variabele of kolom, waardoor alleen de vereiste hoeveelheid systeemgeheugen wordt toegewezen aan de gegevens van de respectieve kolom.
  • MS SQL biedt een brede categorie van het datatype volgens de behoeften van de gebruiker. Zoals datum, binaire afbeeldingen, enz.

In deze tutorial leer je:

  • Wat is datatype?
    • Hoe MS SQL-datatype te gebruiken
  • Waarom DataTypes gebruiken?
    • Exact Numeriek
    • Numeriek bij benadering
    • Datum en tijd
    • Tekenreeksen
    • Unicode-tekenreeksen
    • Binaire tekenreeks
    • Andere datatypes

Waarom DataTypes gebruiken?

Laten we, neem een monster van eenvoudige Sign up pagina van de website van application.Three invoervelden zijn voornaam, achternaam & Contact nummer.

Hier moeten we opmerken dat in realtime:

  • "Voor- / achternaam" zal altijd alfabetisch zijn .
  • "Contact" is altijd numeriek .

  • Op de bovenstaande afbeelding is het de moeite waard om "Voornaam / Achternaam" te definiëren als een teken en " Contact" als een geheel getal .

Het is duidelijk dat in elke toepassing alle velden het ene of het andere type gegevens bevatten. Bijv. Numeriek, alfabetisch, datum en nog veel meer.

Merk ook op dat verschillende datatypes verschillende geheugenvereisten hebben. Daarom is het logischer om de kolom of variabele te definiëren met het gegevenstype dat deze zal bevatten voor efficiënt geheugengebruik.

Gegevenstype beschikbaar in MS SQL

MS SQL server ondersteunt de volgende categorieën van gegevenstypes:

  • Exact numeriek
  • Numeriek bij benadering
  • Datum en tijd
  • Tekenreeksen
  • Unicode-tekenreeksen
  • Binaire tekenreeksen
  • Andere gegevenstypen
MSQL-gegevenstypen

Exact Numeriek

Exact numeriek heeft negen soorten subgegevenstypen. Exacte numerieke gegevenstypen

Data type Omschrijving Ondergrens Bovenlimiet Geheugen
bigint Het slaat hele 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 hele getallen op in het opgegeven bereik -2 31 (-2.147, 483.648) 2 31−1 (-2.147, 483.647) 4 bytes
smallint Het slaat hele getallen op in het opgegeven bereik -2 15 (-32.767) 2 15 (-32.768) 2 bytes
tinyint Het slaat hele getallen op in het opgegeven bereik 0 255 1 byte
beetje Het kan 0, 1 of NULL-waarden hebben. 0 1 1 byte / 8-bits kolom
decimale Wordt gebruikt voor schaal en cijfers met vaste precisie −10 38 + 1 10 381−1 5 tot 17 bytes
numeriek Wordt gebruikt voor schaal en cijfers met vaste precisie −10 38 + 1 10 381−1 5 tot 17 bytes
geld Gebruikte geldgegevens -922.337, 203, 685.477,5808 +922.337, 203, 685.477.5807 8 bytes
klein geld Gebruikte geldgegevens −214.478,3648 +214.478.3647 4 bytes

Voorbeelden:

Vraag:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Uitgang: 2

Syntaxis: Decimaal (P, S)

Hier,

  • P is precisie
  • S is schaal

Vraag:

DECLARE @Datatype_Decimal DECIMAL (3,2) = 2.31PRINT @Datatype_Decimal

Uitgang: 2,31

Numeriek bij benadering

Geschatte numerieke categorie omvat drijvende komma en reële waarden. Ze worden meestal gebruikt in wetenschappelijke berekeningen. Geschat numeriek gegevenstype

Data type Omschrijving Ondergrens Bovenlimiet Geheugen Precisie
zweven (n) Wordt gebruikt voor een getal met zwevende precisie -1,79E + 308 1.79E + 308 Hangt af van de waarde van n 7 cijfers
echt Wordt gebruikt voor een getal met zwevende precisie -3,40E + 38 3,40E + 38 4 bytes 15 cijfers
Syntax: FLOAT [(n)] 

Hier is n het aantal bits dat wordt gebruikt om de mantisse van het float- getal in wetenschappelijke notatie op te slaan . Standaard is de waarde van n 53.

Als de gebruiker een gegevenstype zoals float definieert, moet n een waarde tussen 1 en 53 zijn.

SQL Server behandelt 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.

Voorbeeldzoekopdracht:

DECLARE @Datatype_Float FLOAT(24) = 22.1234PRINT @Datatype_Float

Uitgang: 22.1234

Datum en tijd

Het slaat gegevens op van het type Datum en tijd. Datum- en tijdgegevenstype

Data type Omschrijving Opslag grootte Nauwkeurigheid Lager bereik Bovenste bereik
Datum Tijd Wordt gebruikt voor het specificeren 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
smalldatetime 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, opgelost 1 minuut 1900/01/01 06-06-2079
datum Wordt alleen gebruikt om de datum op te slaan van 1 januari 0001 tot 31 december 9999 3 bytes, opgelost 1 dag 0001-01-01 9999-12-31
tijd Wordt gebruikt voor het opslaan van alleen tijdwaarden met een nauwkeurigheid van 100 nanoseconden. 5 bytes 100 nanoseconden 00: 00: 00.0000000 23:59: 59,9999999
datetimeoffset Vergelijkbaar met datatime maar heeft een tijdzone-offset 10 bytes 100 nanoseconden 0001-01-01 9999-12-31
datetime2 Wordt gebruikt voor het specificeren van een datum en tijd van 1 januari 0001 tot 31 december 9999 6 bytes 100 nanoseconden 0001-01-01 9999-12-31

Voorbeeldzoekopdracht:

DECLARE @Datatype_Date DATE = '2030-01-01'PRINT @Datatype_Date

Uitgang: '2030-01-01'

Tekenreeksen

Deze categorie is gerelateerd aan een tekentype. Hiermee kan de gebruiker het gegevenstype van het teken definiëren dat een vaste en variabele lengte kan hebben. Het heeft vier soorten gegevenstypen. Tekenreeksen Gegevenstypen

Data type Omschrijving Ondergrens Bovenlimiet Geheugen
char Het is een tekenreeks met een vaste breedte. Het kan maximaal 8.000 tekens bevatten. 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 in worden opgeslagen. 0 tekens 2 31 tekens n bytes + 2 bytes
tekst Dit is een tekenreeks met een variabele breedte. Het slaat maximaal 2 GB aan tekstgegevens op. 0 tekens 2.147.483.647 tekens n bytes + 4 bytes

Voorbeeldzoekopdracht:

DECLARE @Datatype_Char VARCHAR(30) = 'This is Character Datatype'PRINT @Datatype_Char

Uitvoer: dit is het karaktergegevenstype

Unicode-tekenreeksen

Deze categorie bevat het volledige bereik van Unicode-tekens die de UTF-16-tekencodering gebruiken. Gegevenstypen in Unicode-tekenreeks

Data type Omschrijving Ondergrens Bovenlimiet Geheugen
nchar Het is een Unicode-reeks met een vaste breedte 0 tekens 4000 tekens 2 keer n bytes
nvarchar Het is een unicode-reeks met een variabele breedte 0 tekens 4000 tekens 2 keer n bytes + 2 bytes
ntext Het is een unicode-reeks met een variabele breedte 0 tekens 1.073.741.823 kar 2 keer de snaarlengte

Voorbeeldzoekopdracht:

DECLARE @Datatype_nChar VARCHAR(30) = 'This is nCharacter Datatype'PRINT @Datatype_nChar

Uitvoer: dit is het nCharacter Datatype

Binaire tekenreeks

Deze categorie bevat een binaire reeks met een vaste en variabele lengte. Binaire String Gegevenstypen

Data type Omschrijving Ondergrens Bovenlimiet Geheugen
binair Het is een binaire tekenreeks met een vaste breedte. Het slaat maximaal 8.000 bytes op. 0 bytes 8000 bytes n bytes
varbinary Dit is een binaire reeks met een variabele breedte. Het slaat maximaal 8.000 bytes op 0 bytes 8000 bytes De werkelijke lengte van de ingevoerde gegevens + 2 bytes
beeld Dit is een binaire reeks met een variabele breedte. Er kan maximaal 2 GB in worden opgeslagen. 0 bytes 2.147.483.647 bytes

Voorbeeldzoekopdracht:

DECLARE @Datatype_Binary BINARY(2) = 12;PRINT @Datatype_Binary

Uitgang: 0x000C

Andere datatypes

Dit zijn andere verschillende gegevenstypen met de onderstaande beschrijving-

Data type Omschrijving
Cursor De uitvoer is een kolom met sp_cursor_list en sp_describe_cursor. Het geeft de naam van de cursorvariabele terug.
Rij-versie It-versie stempelt tabelrijen.
Hiërarchie-id Dit datatype vertegenwoordigt een positie in de hiërarchie
Unieke identificatie Omzetting van een tekenuitdrukking.
SQL_variant Het slaat waarden op van door SQL server ondersteunde datatypes.
XML Het slaat XML-gegevens op in een kolom.
Type ruimtelijke geometrie Het vertegenwoordigt gegevens in een plat coördinatensysteem.
Type ruimtelijke geografie Het vertegenwoordigt gegevens in het rond-aarde coördinatensysteem.
tafel Het slaat een resultatenset op voor latere verwerking.

Interessante feiten!

  • CHAR-gegevenstype is sneller dan VARCHAR bij het ophalen van gegevens.

Overzicht:

  • Elke kolom in tabellen definieert met zijn datatype tijdens het maken van een tabel.
  • Er zijn zes hoofdcategorieën en een andere diverse categorie. Andere diversen hebben negen subcategorieën van gegevenstypen beschikbaar.