SQL Server tietotyypit Opetusohjelma

SQL sarakkeita taulukon määritellään tallentaa erityinen arvo, kuten numeroita, päivämääriä tai tekstiä; näitä kutsutaan tietotyypit. Yli kolmenkymmenen tyyppisiä SQL server tietotyypit valita, tietotyypit voivat tuntua uhkaava, mutta todellisuudessa, on vain muutamia yleisesti käytetty tietokannoissa.

kun tietotyyppejä ylipäätään ymmärtää, se ei ole monimutkainen aihe. Tulet myös ymmärtää, miksi on tarvetta tietotyypit ja syy siellä niin paljon lajikkeita.,

tässä artikkelissa käymme läpi yleisimmät tietotyypit ja niiden käytön parhaat käytännöt.

Kaikki tämän oppitunnin esimerkit perustuvat Microsoft SQL Server Management studioon ja AdventureWorks2012-tietokantaan. Aloita näiden ilmaisten työkalujen käyttö oppaani aloittamalla SQL Serverin käyttö.

mitä ovat SQL Server-tietotyypit?

Ennen kuin pääsemme tietotyyppejä käytetään SQL server, mielestäni se on tärkeää kaikille ymmärtää, mitä data-tyyppi on, ja miksi niitä tarvitaan käytettäväksi tietokoneissa.

esimerkissämme puhutaan ihmisestä., Jos olit ajatellut, että tietoja voisi käyttää kuvaamaan henkilön saatat ajatella, kerätä niiden nimi, syntymäaika, paino, ja lasten lukumäärä. Kunkin näistä attribuuteista tiedot jakautuvat yleensä useisiin luokkiin.

nimet tallennetaan tekstinä, syntymäajat kalenteripäivinä ja paino desimaaliarvoina sekä joukko lapsia kokonaislukuina. Kukin näistä arvoluokista on tietotyyppi.

Miten SQL-Tyypit Auttaa

tietotyypit määrittävät ominaisuudet tietoja, joita voidaan tallentaa sijainti, kuten tietokannan sarake., Tietotyyppi määrittelee mahdolliset hyväksytyt arvot. Esimerkiksi tyyppi INT, joka tarkoittaa kokonaislukua SQL server voi hyväksyä vain kokonaisia numeroita, desimaaliarvoja ei sallita.

Tässä on luettelo jotkut ihmiset ja heidän ikänsä

– Ikä – Vain Teksti-Arvot

voit nähdä ongelma näiden aikojen? Kaikki ovat epäjohdonmukaisessa muodossa. Niitä on vaikea lukea, mutta tietojen lajittelu ja laskeminen on vaikeaa., Käyttämällä SQL Server tietotyypit, jotka valvovat odotetun tietotyypin tallennetaan, voimme saavuttaa paljon paremman tuloksen. Täällä on sama taulukko, jossa on aikojen osoittanut, kuten kokonaislukuja,

– Ikäisiä mukainen INT tietotyyppi

Kun ikä on määritelty kokonaisluku odotus on tiedot merkitään kokonaislukuina.

Myös, menemättä teknisiin yksityiskohtiin, voit nähdä tallentaa ikään kuin kokonaisluku vie paljon vähemmän tilaa kuin ikä ensimmäisessä taulukossa., Tämä voi tuntua valtava näkökohta pieniä tietokantoja, mutta kun tietojen käsittely älypuhelimissa tai ”big data” – skenaarioita, nämä näkökohdat muodostavat.

kun järjestelmä ymmärtää tietotyypin, se voi sitten lajitella tiedot järkevään järjestykseen sekä suorittaa laskelmia.

Syitä käyttää SQL Server tietotyypit

Tässä muutamia syitä, miksi tietotyypit ovat tärkeitä:

  1. Tiedot on tallennettu yhdenmukaisesti ja tunnettu muoto.
  2. tietotyypin tuntien voit tietää, mitä laskelmia ja muotoiluja voit käyttää palstalla.,
  3. tietotyypit vaikuttavat tallennukseen. Jotkin arvot vievät enemmän tilaa, kun ne tallennetaan yhteen tietotyyppiin ja toiseen. Otetaan esimerkiksi edellä olevat ikäpöytämme.
  4. tietotyypit vaikuttavat suorituskykyyn. Mitä vähemmän tietokannassa on aikaa arvoihin päättelyyn tai niiden muuntamiseen, sen parempi. ”Onko 32. joulukuuta 2015 päivämäärä?”

yleisesti käytetyt SQL Server-tietotyypit

SQL: ssä määritellään, millaista dataa sarakkeisiin tallennetaan. Jokin esimerkki sisältää teksti-tai numerotietoja.,

Tämä on sarakkeen tietotyyppi, ja yksi sen tärkeimmistä ominaisuuksista, koska se yksin määrittää, onko arvo on voimassa varastointi-sarakkeessa.

sarakkeita määriteltäessä voi valita yli kolmestakymmenestä eri tietotyypistä, joillakin on erityisiä käyttötarkoituksia, kuten kuvien tallentaminen.

tässä artikkelissa aiomme kattaa seitsemän tietotyypit voit useimmin kohtaavat jokapäiväisessä käyttää SQL., Nämä ovat:

  • INT
  • VARCHAR, NVARCHAR
  • DATETIME
  • DESIMAALI, FLOAT
  • HIEMAN

INT – Kokonaisluku-tietotyyppi

integer-tietotyyppi tallentaa kokonaislukuja. Esimerkkejä ovat -23, 0, 5, ja 10045. Kokonaiset numerot eivät sisällä desimaaleja. Koska SQL server käyttää useita tietokoneen sanoja edustamaan kokonaislukua, on olemassa enimmäis-ja vähimmäisarvoja, joita se voi edustaa. INT datatype voi tallentaa arvon -2,147,483,648 – 2,147,483,647.,

INT-tietotyypin käytännön käyttökohteita ovat esimerkiksi arvojen laskeminen, henkilön iän säilyttäminen tai taulukon TUNNISTEAVAIMEKSI käyttäminen.

Mutta INT ei olisi niin hyvä seurata teratavun kiintolevy-osoite tilaa, kuten INT tiedot tyyppi vain menee 2 miljardia, ja meidän täytyy seurata osaksi biljoonia. Tähän tarvittaisiin BIGINTIÄ.

INT-tietotyyppiä käytetään laskelmissa., Koska DaysToManufacture on määritelty INT voimme helposti laskea tuntia kertomalla se 24:

VALITSE Nimi, DaysToManufacture, DaysToManufacture * 24 HoursToManufactureFROM Tuotanto.Tuote
/* Answer */SELECT Name, DaysToManufacture, DaysToManufacture * 24 as HoursToManufactureFROM Production.Product

Täällä voit nähdä tuloksia

Tulokset INT laskelmat

On olemassa monia toimintoja ja toimintoja, voit käyttää kokonaislukuja, jotka me kattaa kerran me kaivaa toimintoja.,

VARCHAR ja NVARCHAR – Text-Arvot

Käytä VARCHAR ja NVARCHAR tallentaa muuttujan pituus tekstiä arvoja. ”VARCHAR” tarkoittaa vaihtelevan pitkää merkkiä.

Määritä varcharissa tai NVARCHARISSA säilytettävien merkkien määrä sarakkeen määritelmän mukaisesti. Huomaa, miten Nimi on määritelty, pitää viisikymmentä merkkiä:

VARCHAR määritelmä on esitetty SSMS Object Explorer

Mitä tekee VARCHAR suosittu on se, että arvo on pienempi kuin viisikymmentä merkkiä vie vähemmän tilaa. Tilaa jaetaan tarpeen mukaan., Tämä eroaa CHAR – tietotyypistä, joka jakaa aina määrätyn pituuden riippumatta siitä, kuinka kauan varsinaiset tiedot on tallennettu.

VARCHAR-datatyyppi voi tyypillisesti tallentaa enintään 8 000 merkkiä. Käytä NVARCHAR datatype tallentaa Unicode tekstiä. Koska UNICODE-merkit vievät kaksi kertaa tilaa, NVARCHAR-sarakkeet voivat tallentaa enintään 4 000 merkkiä.

etu NVARCHAR on yli VARCHAR se voi tallentaa Unicode-merkkejä. Näin on kätevä tallentaa laajennettuja merkistöjä, joita käytetään kanjin kaltaisissa kielissä.,

ennen SQL 2008 suunniteltuja tietokantoja käytetään tyypillisesti VARCHAR-tietokantoja; uudenaikaisemmat tietokannat tai luonteeltaan globaalit tietokannat käyttävät kuitenkin yleensä NVARCHARIA.

DATETIME – päivämäärä ja aika

käytä DATETIME-tietotyyppiä päivämäärän ja ajan tallentamiseen. Esimerkki DATATIME-arvo on

1968-10-23 1:45:37.123

Tämä on arvo, lokakuu 23, 1968 klo 1:45 AM. Itse asiassa aika on tätä tarkempi. Aika on todella 45 minuuttia, 37.123 sekuntia.

monissa tapauksissa, sinun tarvitsee vain tallentaa päivämäärä. Näissä tapauksissa aikakomponentti nollataan., Näin, marraskuu 5, 1972 on

1972-11-05 00:00:00.000

DATETIME voi tallentaa päivämääriä 1. tammikuuta 1753 kautta 31. joulukuuta 9999. Tämä tekee DATETIME hyvä tallennus päivämäärät nykymaailmassa, mutta ei niin paljon, William Shakespearen.

Kun saat enemmän perehtynyt eri SQL sisäänrakennettuja toimintoja voit muokata tietoja. Vilaukseksi laskemme vuosittain palkattuja työntekijöitä vuoden funktiolla. Kun annetaan DATETIME arvo, vuosi funktio palauttaa vuoden.,

kyselyn käytämme on

hyöty on DATETIME tyyppi takaa arvot ovat voimassa päivämäärät. Kun tämä on varmistettu, voimme käyttää liuta toimintoja, laskea päivien välillä päivät, kuukausi, päivämäärä ja niin edelleen.

tutkimme näitä eri toimintoja yksityiskohtaisesti toisessa blogikirjoituksessa.

DESIMAALI-ja FLOAT – Desimaalin Pistettä

Käyttää sekä DESIMAALIN ja FLOAT tietotyypeille työskennellä desimaalin arvoja, kuten 10.3.,

olen niputetaan DESIMAALIN ja KELLUA osaksi sama luokka koska ne molemmat voi käsitellä arvoja desimaalin pistettä; kuitenkin, he molemmat tekevät niin eri tavoin:

Jos tarvitset tarkkoja arvoja, kuten työskenneltäessä taloudellisia tai kirjanpidollisia tietoja, sitten käytä DESIMAALIN. Syynä on DESIMAALIN tietotyyppi avulla voit määrittää desimaalien määrä säilyttää.

desimaali

desimaalin tietotyypit määritellään tarkkuudella ja asteikolla. Tarkkuus määrittää varastoitavien kokonaislukujen määrän; asteikko määrittää numeroiden määrän desimaalipisteen oikealle puolelle.,

DESIMAALIDATATYYPPI määritellään desimaaliksi(tarkkuus,asteikko).

desimaalin datatyyppi voi olla enintään 38 numeroa. Tarkkuus ja laajuus on noudatettava seuraavia osalta

0 <= scale <= precision <= 38 digits

Tuotanto.Tuotetaulukko, painosarakkeen datatyyppi määritellään desimaaliksi(8,2). Ensimmäinen numero on tarkkuus, toinen asteikko.

paino on määritelty kahdeksaksi kokonaisnumeroksi, joista kaksi on desimaalin oikealla puolella. Teemme seuraavan näytteen kyselyn havainnollistaaksemme, miten tämä tietotyyppi.,

valitse tuotannosta erillinen Paino.ProductWHERE Paino VÄLILLÄ 29.00 ja 189.00 JOTTA Paino DESC
/* Answer */SELECT DISTINCT WeightFROM Production.ProductWHERE Weight BETWEEN 29.00 and 189.00ORDER BY Weight DESC

FLOAT

Missä DESIMAALIN tietotyypit ovat hyvin tarkkoja lukuja, Kellukkeet ovat todella hyviä pitkiä numeerisia arvoja. Vaikka DESIMAALIARVO voi olla 38 numeroa yhteensä, monissa teknisissä ja tieteellisissä sovelluksissa tämä on riittämätön. FLOAT nousee huipulle tieteellisissä sovelluksissa, joissa kohdataan äärimmäisiä numeerisia arvoja!

kellukkeiden kantama on -1.,79e+308-1,79 E+308. Se tarkoittaa, että suurin arvo voi olla 179 ja sen jälkeen 306 Nollaa (suuri todellakin!).

Koska tapa kellua tiedot on tallennettu tietokoneeseen (katso IEEE 754 liukuluku erittely) numero on tallennettu erittäin lähellä lähentämisestä. Monelle hakemukselle tämä riittää.

Koska arvioitu käyttäytyminen, vältä <> ja = toimijoiden MISSÄ lauseke. Tämä lausunto on polttanut may DBAs!

WHERE mass = 2.5

niiden odotus murskaantuu, kun massan oletetaan olevan yhtä suuri kuin 2.,5, mutta todellisuudessa, tietokoneella, se on tallennettu 2.4999999999999999999; näin ollen, ei vastaa 2.500000000000000!

se on kelluvien pisteiden ja tietokoneiden luonne. Me näemme 2.499999999999999999 ja ajattelemme, että käytännössä se on 2.5, mutta tietokoneeseen, oli vain vähän pois. J

BIT – Boolean tai Kyllä/Ei-arvot

On aikoja, jolloin sinun tarvitsee vain tallentaa, onko jotain ”on” tai ”ei ole.”Esimerkiksi se, onko työntekijä aktiivinen. Se on näissä tapauksissa, että BIT datatype tulee omaansa. Tämä tietotyyppi on yksi kolmesta osavaltiosta: 1, 0 tai NULL.,

1: n arvo merkitsee todellista ja 0 väärää.

tämän kyselyn, meidän listalle kaikki palkattua asema tehtävänimikkeitä

SELECT DISTINCT JobTitleFROM Työvoimaa.EmployeeWHERE SalariedFlag = 1
SELECT DISTINCT JobTitleFROM HumanResources.EmployeeWHERE SalariedFlag = 1

voisimme myös käyttää ’Tosi’ sijasta 1. Tässä on sama esimerkki käyttäen ”True”

Leave a Comment