SQL Server DataTypes: Varchar, Numeerinen, Päivämääräaika (T-SQL-esimerkkejä)

Sisällysluettelo:

Anonim

Mikä on tietotyyppi?

Tietotyyppi määritellään tietotyypiksi , jonka mikä tahansa sarake tai muuttuja voi tallentaa MS SQL Serveriin.

Luotaessa tauluihin tai muuttujan lisäksi määrittää nimen, voit myös asettaa Tietojen tyyppi se tallentaa.

Kuinka käyttää MS SQL -tietotyyppiä

  • Sinun on määriteltävä etukäteen, minkä tyyppisiä tietoja sarake tai muuttuja voi tallentaa. Tietotyypin määrittäminen myös estää käyttäjää syöttä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 kyseisen sarakkeen tiedoille.
  • MS SQL tarjoaa laajan tietotyyppikategorian käyttäjän tarpeiden mukaan. Kuten päivämäärä, binaarikuvat jne.

Tässä opetusohjelmassa opit:

  • Mikä on tietotyyppi?
    • Kuinka käyttää MS SQL -tietotyyppiä
  • Miksi käyttää DataTypesia?
    • Tarkka numeerinen
    • Arvioitu numeerinen
    • Päivämäärä ja aika
    • Merkkijonot
    • Unicode-merkkijonot
    • Binaarijono
    • Muut tietotyypit

Miksi käyttää DataTypesia?

Otetaan esimerkki verkkosivustosovelluksen yksinkertaisesta kirjautumissivusta . Kolme syöttökenttää ovat Etunimi, Sukunimi ja Yhteyshenkilönumero

Tässä on huomattava, että reaaliajassa:

  • "Etunimi / sukunimi" on aina aakkosellinen .
  • "Yhteystiedot" on aina numeerinen .

  • Yllä olevasta kuvan Kannattaako määriteltäessä "First / Last Name" kuten merkin ja " Ota yhteyttä" kuin kokonaisluku .

On selvää, että missä tahansa sovelluksessa kaikilla kentillä on yhtä tai toista tietoa. Esim. Numeerinen, aakkosellinen, päivämäärä ja paljon muuta.

Huomaa myös, että eri tietotyypeillä on erilaiset muistivaatimukset. Siksi on järkevämpää määritellä sarake tai muuttuja tietotyypillä, jota se pitää muistin tehokasta käyttöä varten.

Tietotyyppi saatavilla MS SQL: ssä

MS SQL -palvelin tukee seuraavia tietotyyppikategorioita:

  • Tarkka numeerinen
  • Likimääräinen numeerinen
  • Päivämäärä ja aika
  • Merkkijonot
  • Unicode-merkkijonot
  • Binaarijonot
  • Muut tietotyypit
MSQL-tietotyypit

Tarkka numeerinen

Tarkassa numeerisessa on yhdeksän tyyppistä alatietotyyppiä. Tarkat numeeriset tietotyypit

Tietotyyppi Kuvaus Alaraja Yläraja Muisti
bigint Se tallentaa kokonaiset numerot annetulle alueelle −2 63 (−9 223 372, 036 854 775 808) 2 63-1 (−9,223,372, 036,854,775,807) 8 tavua
int Se tallentaa kokonaiset numerot annetulle alueelle −2 31 (−2,147, 483648) 2 31-1 (−2,147, 483,647) 4 tavua
pieni Se tallentaa kokonaiset numerot annetulle alueelle −2 15 (−32 767) 2 15 (−32 768) 2 tavua
tinyint Se tallentaa kokonaiset numerot annetulle alueelle 0 255 1 tavu
bitti Se voi viedä 0, 1 tai NULL-arvoja. 0 1 1 tavu / 8-bittinen sarake
desimaali Käytetään asteikkoihin ja kiinteisiin tarkkuuslukuihin −10 38 + 1 10 381-1 5–17 tavua
numeerinen Käytetään asteikkoihin ja kiinteisiin tarkkuuslukuihin −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 8 tavua
pienraha Käytetyt rahatiedot −214,478,3648 +214,478.3647 4 tavua

Esimerkkejä:

Kysely:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Lähtö: 2

Syntaksi: Desimaali (P, S)

Tässä,

  • P on tarkkuus
  • S on asteikko

Kysely:

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

Lähtö: 2.31

Arvioitu numeerinen

Likimääräinen numeerinen luokka sisältää liukuluku ja todelliset arvot. Niitä käytetään enimmäkseen tieteellisissä laskelmissa. Arvioitu numeerinen tietotyyppi

Tietotyyppi Kuvaus Alaraja Yläraja Muisti Tarkkuus
kellua (n) Käytetään kelluvaan tarkkuuslukuun −1,79E + 308 1,79E + 308 Riippuu n: n arvosta 7 numeroa
todellinen Käytetään kelluvaan tarkkuuslukuun −3,40E + 38 3.40E + 38 4 tavua 15 numeroa
Syntax: FLOAT [(n)] 

Tässä n on bittien lukumäärä, joita käytetään tallentamaan mantissa on float numero kymmenpotenssimuodossa. Oletuksena n: n arvo on 53.

Kun käyttäjä määrittelee tietotyypin, kuten float, n: n tulisi olla arvo välillä 1-53.

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

Esimerkkikysely:

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

Tuotos: 22.1234

Päivämäärä ja aika

Se tallentaa päivämäärän ja ajan tyyppisiä tietoja. Päivämäärä ja aika -tietotyyppi

Tietotyyppi Kuvaus Varastokoko Tarkkuus Alempi alue Yläalue
Treffiaika 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 välein 1753-01-01 9999-12-31
smalldatetime Käytetään päivämäärän ja ajan määrittämiseen 1. tammikuuta 0001 - 31. joulukuuta 9999. Sen tarkkuus on 100 nanosekuntia 4 tavua, kiinteä 1 minuutti 1900-01-01 2079-06-06
Päivämäärä Käytetään vain päivämäärän tallentamiseen 1. tammikuuta 0001 - 31. joulukuuta 9999 3 tavua, kiinteä 1 päivä 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 päivämääräaika, mutta siinä on aikavyöhykkeen siirtymä 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

Lähtö: '2030-01-01'

Merkkijonot

Tämä luokka liittyy merkityyppiin. Sen avulla käyttäjä voi määritellä tietotyypin merkin, joka voi olla kiinteä ja vaihteleva pituus. Sillä on neljä erilaista tietotyyppiä. Merkkijonotietotyypit

Tietotyyppi Kuvaus Alaraja Yläraja Muisti
hiiltyä Se on merkkijono, jolla on kiinteä leveys. Se tallentaa enintään 8000 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 merkkiä. 0 merkkiä 2 31 merkkiä n tavua + 2 tavua
teksti Tämä on merkkijono, jonka leveys vaihtelee. Se tallentaa enintään 2 Gt tekstiä. 0 merkkiä 2147483347 merkkiä n tavua + 4 tavua

Esimerkkikysely:

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

Tulos: Tämä on merkkitietotyyppi

Unicode-merkkijonot

Tämä luokka tallentaa kaikki Unicode-merkit, jotka käyttävät UTF-16-merkkikoodausta. Unicode-merkkijonotietotyypit

Tietotyyppi Kuvaus Alaraja Yläraja Muisti
nchar Se on kiinteän leveyden Unicode-merkkijono 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 merkkijonon pituus

Esimerkkikysely:

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

Tulos: Tämä on nCharacter-tietotyyppi

Binaarijono

Tämä luokka sisältää kiinteän ja vaihtelevan pituisen binaarijonon. Binaarijonotietotyypit

Tietotyyppi Kuvaus Alaraja Yläraja Muisti
binääri Se on kiinteän leveys binaarijono. Se tallentaa enintään 8000 tavua. 0 tavua 8000 tavua n tavua
vaihteleva Tämä on vaihtelevan leveys binaarijono. Se tallentaa enintään 8000 tavua 0 tavua 8000 tavua Syötettyjen tietojen todellinen pituus + 2 tavua
kuva Tämä on vaihtelevan leveys binaarijono. Se tallentaa enintään 2 Gt. 0 tavua 2 147 483 647 tavua

Esimerkkikysely:

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

Lähtö: 0x000C

Muut tietotyypit

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

Tietotyyppi Kuvaus
Kohdistin Sen tulos on sarakkeet sp_cursor_list ja sp_describe_cursor. Se palauttaa kohdistimen muuttujan nimen.
Riviversio Sen versio leimaa taulukkorivit.
Hierarkyidi Tämä tietotyyppi edustaa sijaintia hierarkiassa
Yksilöllinen tunniste Muunnos merkkilausekkeesta.
Sql_variant Se tallentaa SQL-palvelimen tukemien tietotyyppien arvot.
XML Se tallentaa XML-tietoja sarakkeeseen.
Spatial Geometry -tyyppi Se edustaa tietoja tasaisessa koordinaattijärjestelmässä.
Spatial Geography -tyyppi Se edustaa tietoja maapallon koordinaattijärjestelmässä.
pöytä Se tallentaa tulosjoukon myöhempää käsittelyä varten.

Mielenkiintoisia seikkoja!

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

Yhteenveto:

  • Taulukoiden jokainen sarake määrittelee tietotyypin taulukon luomisen aikana.
  • Pääluokkia on kuusi ja yksi muu sekaluokka. Muilla sekalaisilla on käytettävissä yhdeksän tietotyyppien alaluokkaa.