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

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.