SQL Server -tietotyypit ja esimerkkejä

Mikä on tietotyyppi?

A Tietotyyppi SQL-palvelimessa on määritelty tietotyypiksi, jonka mikä tahansa sarake tai muuttuja voi tallentaa. Se on tietotyyppi, jota objekti sisältää, kuten kokonaisluku, merkki, merkkijono jne. Kun luot mitä tahansa taulukkoa tai muuttujaa, määrität nimen lisäksi myös sen tallennettavan tietotyypin.

Kuinka käyttää MS SQL -tietotyyppiä

  • Sinun on määritettävä etukäteen, minkälaisia ​​tietoja sarake tai muuttuja voi tallentaa. Tietotyypin määrittäminen estää myös käyttäjää syömästä odottamattomia tai virheellisiä tietoja.
  • Voit käyttää muistia tehokkaasti määrittämällä muuttujalle tai sarakkeelle sopivan tietotyypin, joka varaa vain tarvittavan määrän järjestelmämuistia vastaavan sarakkeen tiedoille.
  • MS SQL tarjoaa laajan luokan perustietotyyppejä SQL:ssä käyttäjän tarpeiden mukaan, kuten päivämäärä, binaarikuvat jne.

Miksi käyttää tietotyyppejä?

Otetaan esimerkki yksinkertaisesta Rekisteröidy sivu Kolme syöttökenttää ovat etunimi, sukunimi ja yhteysnumero.

Tässä on syytä huomata, että reaaliajassa:

  • "Etunimi Sukunimi" tulee aina olemaan aakkosellinen.
  • "Ottaa yhteyttä" tulee aina olemaan numeerinen.
SQL Server -tietotyypit
Esimerkki tietotyypeistä MS SQL:ssä
  • Yllä olevasta kuvasta se kannattaa määritellä "Etunimi Sukunimi" kuten merkki ja "Ottaa yhteyttä" kuin kokonaisluku.

On selvää, että missä tahansa sovelluksessa kaikissa kentissä on yhden tai toisen tyyppistä tietoa. Esim. numerot, aakkoset, päivämäärä ja monet muut.

Huomaa myös, että eri tietotyypeillä on erilaiset muistivaatimukset. Siksi on järkevämpää määritellä sarake tai muuttuja sen tietotyypin kanssa, joka käyttää muistia tehokkaasti.

Tietotyyppi saatavilla MS SQL Serverissä

Tässä on MS SQL -palvelimen tietotyyppiluettelo:

MS SQL -palvelin tukee seuraavia tietotyyppiluokkia:

  • Tarkka numeerinen
  • Likimääräinen numeerinen
  • Päivämäärä ja aika
  • Merkkijonot
  • Unicode-merkkijonot
  • Binaariset merkkijonot
  • Muut tietotyypit
Tietotyyppi saatavilla MS SQL Serverissä

MS SQL -tietotyypit

Tarkat numeeriset tietotyypit SQL:ssä

Tarkalla numeerisella on yhdeksän tyyppistä alitietotyyppiä SQL-palvelimessa.

Tarkat numeeriset tietotyypit

Tietotyyppi Tuotetiedot Alaraja Yläraja Muisti
bigint Se tallentaa kokonaislukuja annetulla alueella −2^63 (−9,223,372 036,854,775,808 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^63−1 (−9,223,372, 036,854,775,807) 8 tavua
int Se tallentaa kokonaislukuja annetulla alueella −2^31 (−2,147 483,648 XNUMX, XNUMX XNUMX XNUMX XNUMX) 2^31−1 (−2,147, 483,647) 4 tavua
pieni Se tallentaa kokonaislukuja annetulla alueella −2^15 (−32,767 XNUMX) 2^15 (−32,768 XNUMX) 2 tavua
pikkuinen Se tallentaa kokonaislukuja annetulla alueella 0 255 1 tavua
bit Se voi ottaa arvoja 0, 1 tai NULL. 0 1 1 tavu / 8 bitin sarake
desimaalin Käytetään mittakaavassa ja kiinteissä tarkkuusnumeroissa −10^38+1 10^381−1 5-17 tavua
numeerinen Käytetään mittakaavassa ja kiinteissä tarkkuusnumeroissa −10^38+1 10^381−1 5-17 tavua
raha Käytetyt rahatiedot -922,337, 203, 685,477.5808 +922,337 203, 685,477.5807, XNUMX XNUMX XNUMX 8 tavua
pientä rahaa Käytetyt rahatiedot -214,478.3648 + 214,478.3647 4 tavua

Tarkat numeeriset tietotyypit SQL-palvelin esimerkkien kanssa:

kysely:

DECLARE @Datatype_Int INT = 2
PRINT @Datatype_Int

ulostulo

2

Syntaksi

Desimaali (P,S)

Täällä

  • P on tarkkuus
  • S on mittakaava

kysely:

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

ulostulo

2.31

Likimääräiset numeeriset tietotyypit SQL:ssä

SQL Likimääräinen numeerinen luokka sisältää liukuluku- ja reaaliarvot. Näitä SQL:n tietotyyppejä käytetään enimmäkseen tieteellisissä laskelmissa.

Likimääräinen numeerinen tietotyyppi

Tietotyyppi Tuotetiedot Alaraja Yläraja Muisti Tarkkuus
kellua(n) Käytetään kelluvaan tarkkuuslukuun −1.79E+308 1.79 308 + Riippuu n:n arvosta 7 Digit
todellinen Käytetään kelluvaan tarkkuuslukuun −3.40E+38 3.40 38 + 4 tavua 15 Digit
Syntax:  FLOAT [(n)]

Täällä n on bittien lukumäärä, joita käytetään tallentamaan mantissa kellua numero tieteellisessä merkinnässä. Oletusarvoisesti n:n arvo on 53.

Kun käyttäjä määrittää tietotyypin, kuten float, n arvon tulee olla välillä 1–53.

SQL Server käsittelee n yhtenä kahdesta mahdollisesta arvosta. Jos 1<=n<=24, n:tä käsitellään 24:nä. Jos 25<=n<=53, n:tä käsitellään 53:na.

Esimerkkikysely:

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

ulostulo

22.1234

Päivämäärä- ja aikatietotyypit SQL:ssä

Se tallentaa päivämäärän ja kellonajan tyyppisiä tietoja.

Päivämäärä ja aika Tietotyyppi

Tietotyyppi Tuotetiedot Varastokoko tarkkuus Alempi alue Upper Range
Päivämäärä ja aika Käytetään päivämäärän ja ajan määrittämiseen 1. tammikuuta 1753 - 31. joulukuuta 9999. Sen tarkkuus on 3.33 millisekuntia. 8 tavua Pyöristetty .000, .003, .007 tarkkoihin 1753-01-01 9999-12-31
pieni päivämäärä Käytetään päivämäärän ja ajan määrittämiseen 1. tammikuuta 0001 ja 31. joulukuuta 9999 välisenä aikana. Sen tarkkuus on 100 nanosekuntia 4 tavua, kiinteä 1 minuutti 1900-01-01 2079-06-06
data Käytettiin vain päivämäärän säilyttämiseen 1–0001 3 tavua, kiinteä Yhden päivän 0001-01-01 9999-12-31
aika Käytetään vain aika-arvojen tallentamiseen 100 nanosekunnin tarkkuudella. 5 tavua 100 nanosekuntia 00:00:00.0000000 23:59:59.9999999
datetimeoffset Samanlainen kuin dataaika, mutta siinä on aikavyöhykepoikkeama 10 tavua 100 nanosekuntia 0001-01-01 9999-12-31
päivämäärä2 Käytetään päivämäärän ja ajan määrittämiseen 1. tammikuuta 0001 - 31. joulukuuta 9999 6 tavua 100 nanosekuntia 0001-01-01 9999-12-31

Esimerkkikysely:

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

ulostulo

'2030-01-01'

Merkkijonojen tietotyypit SQL:ssä

Tämä luokka liittyy hahmotyyppiin. Sen avulla käyttäjä voi määrittää merkin tietotyypin, joka voi olla kiinteä ja muuttuvapituinen. Siinä on neljä erilaista tietotyyppiä. Alla on merkkijonon SQL-palvelimen tietotyypit esimerkkeineen.

Merkkijonojen tietotyypit

Tietotyyppi Tuotetiedot Alaraja Yläraja Muisti
sotavaunut Se on merkkijono, jolla on kiinteä leveys. Se tallentaa enintään 8,000 XNUMX merkkiä. 0 merkkiä 8000 merkkiä n tavua
Varchar Tämä on merkkijono, jonka leveys vaihtelee 0 merkkiä 8000 merkkiä n tavua + 2 tavua
varchar (max) Tämä on merkkijono, jonka leveys vaihtelee. Se tallentaa enintään 1,073,741,824 XNUMX XNUMX XNUMX merkkiä. 0 merkkiä 2^31 merkkiä n tavua + 2 tavua
teksti Tämä on merkkijono, jonka leveys vaihtelee. Se tallentaa enintään 2 Gt tekstidataa. 0 merkkiä 2,147,483,647 merkkiä n tavua + 4 tavua

Esimerkkikysely:

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

ulostulo

Tämä on merkkitietotyyppi

Unicode-merkkijonojen tietotyypit SQL:ssä

Tämä luokka tallentaa täyden valikoiman Unicode-merkkejä, jotka käyttävät UTF-16-merkkikoodausta.

Unicode-merkkijonotietotyypit

Tietotyyppi Tuotetiedot Alaraja Yläraja Muisti
nchar Se on Unicode-merkkijono, jonka leveys on kiinteä 0 merkkiä 4000 merkkiä 2 kertaa n tavua
nvarchar Se on unicode-merkkijono, jonka leveys vaihtelee 0 merkkiä 4000 merkkiä 2 kertaa n tavua + 2 tavua
ntext Se on unicode-merkkijono, jonka leveys vaihtelee 0 merkkiä 1,073,741,823 merkkiä 2 kertaa nauhan pituus

Esimerkkikysely:

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

ulostulo

Tämä on nCharacter Datatype

Binäärimerkkijonotietotyypit SQL:ssä

Tämä luokka sisältää kiinteän ja muuttuvan pituisen binäärijonon.

Binäärimerkkijonotietotyypit

Tietotyyppi Tuotetiedot Alaraja Yläraja Muisti
binaarinen Se on kiinteä leveä binäärimerkkijono. Se tallentaa enintään 8,000 XNUMX tavua. 0 tavua 8000 tavua n tavua
varbinaarinen Tämä on binäärimerkkijono, jonka leveys vaihtelee. Se tallentaa enintään 8,000 XNUMX tavua 0 tavua 8000 tavua Syötettyjen tietojen todellinen pituus + 2 tavua
kuva Tämä on binäärimerkkijono, jonka leveys vaihtelee. Se tallentaa enintään 2 Gt. 0 tavua 2,147,483,647 tavua

Esimerkkikysely:

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

ulostulo

0x000C

Muut tietotyypit SQL:ssä

Nämä ovat muita erilaisia ​​SQL-palvelintietotyyppejä, joiden kuvaus on alla-

Tietotyyppi Tuotetiedot
Kohdistin Sen tulos on sarake sp_cursor_list ja sp_describe_cursor.
Se palauttaa kohdistimen muuttujan nimen.
Rivi versio Se versio leimaa taulukon rivejä.
Hierarkidi Tämä tietotyyppi edustaa asemaa hierarkiassa
Yksilöllinen tunniste Muunnos merkkilauseesta.
Sql_variant Se tallentaa SQL-palvelimen tukemien tietotyyppien arvot.
XML Se tallentaa XML-tiedot sarakkeeseen.
Tilageometrian tyyppi Se edustaa dataa tasaisessa koordinaattijärjestelmässä.
Tilamaantieteen tyyppi Se edustaa dataa maan pyöreässä koordinaattijärjestelmässä.
taulukko Se tallentaa tulosjoukon myöhempää käsittelyä varten.

Mielenkiintoisia seikkoja!

  • CHAR-tietotyyppi on nopeampi kuin SQL VARCHAR -tietotyyppi, kun tietoja haetaan.

Yhteenveto

  • Jokainen taulukon sarake määritellään tietotyypeillään taulukon luonnin aikana.
  • Pääkategorioita on kuusi ja yksi muu sekalainen luokka. Muilla sekalaisilla on yhdeksän alaluokkaa SQL-palvelin saatavilla olevat tietotyypit ja -koot.