SQL Server Data Types Tutorial (Română)

în SQL coloanele unui tabel sunt definite pentru a stoca un anumit tip de valoare, cum ar fi numere, date sau text; acestea sunt numite tipuri de date. Cu peste treizeci de tipuri de tipuri de date SQL server din care să alegeți, tipurile de date pot părea intimidante, dar, în realitate, există doar câteva utilizate în mod obișnuit în bazele de date.odată ce ați înțeles tipurile de date în general, nu este un subiect complicat. Veți veni, de asemenea, să înțeleagă de ce este nevoie de tipuri de date și motivul pentru care există atât de multe soiuri.,

în acest articol vom trece peste cele mai comune tipuri de date și cele mai bune practici pentru utilizarea lor.

toate exemplele pentru această lecție se bazează pe Microsoft SQL Server Management Studio și baza de date AdventureWorks2012. Începeți să utilizați aceste instrumente gratuite cu ghidul meu începeți să utilizați SQL Server.

care sunt tipurile de date SQL Server?

înainte de a intra în tipurile de date utilizate în SQL server, cred că este important ca toată lumea să înțeleagă ce este un tip de date și de ce sunt necesare pentru utilizarea în computere.pentru exemplul nostru, vom vorbi despre o persoană., Dacă te-ai gândit la informațiile pe care le-ai putea folosi pentru a descrie o persoană, s-ar putea să te gândești să-i colectezi numele, data nașterii, greutatea și numărul de copii. Pentru fiecare dintre aceste atribute, datele se încadrează în general în mai multe categorii.

numele sunt stocate ca text, datele de naștere ca date calendaristice și greutatea ca valori zecimale și un număr de copii ca numere întregi. Fiecare dintre aceste categorii de valori este un tip de date.

cum ajută tipurile SQL

tipurile de date definesc caracteristicile datelor care pot fi stocate într-o locație, cum ar fi o coloană de baze de date., Un tip de date definește setul posibil de valori acceptate. De exemplu, un tip de INT care reprezintă întreg în SQL server poate accepta numai numere întregi, valorile zecimale nu sunt permise.

Aici este o listă de unii oameni și vârstele lor

Vârstă – Doar Valorile de Text

Puteți vedea problema cu aceste varste? Toate sunt într-un format inconsistent. Nu numai că sunt greu de citit, dar sortarea și calcularea datelor este dificilă., Folosind tipurile de date SQL Server, care impun tipul așteptat de date care urmează să fie stocate, putem obține un rezultat mult mai bun. Aici este aceeași masă cu vârstele afișate ca numere întregi

Vârstele conform INT tip de date

atunci Când vârsta este definită ca un număr întreg așteptarea este datele sunt introduse ca numere întregi.de asemenea, fără a intra în detalii tehnice, puteți vedea stocarea vârstei ca un număr întreg ocupă mult mai puțin spațiu decât vârsta din primul tabel., Acest lucru poate să nu pară o considerație uriașă cu bazele de date mici, dar atunci când lucrați cu date pe smartphone-uri sau scenarii „date mari”, aceste considerente se adaugă.odată ce sistemul înțelege tipul de date, acesta poate sorta datele într-o ordine care are sens, precum și efectua calcule.

motive pentru a utiliza tipurile de date SQL Server

iată câteva motive pentru care tipurile de date sunt importante:

  1. datele sunt stocate într-un format consistent și cunoscut.
  2. cunoașterea tipului de date vă permite să știți ce calcule și formulări puteți utiliza pe coloană.,
  3. tipurile de date afectează stocarea. Unele valori ocupă mai mult spațiu atunci când sunt stocate într-un tip de date față de altul. Luați tabelele de vârstă de mai sus, de exemplu.
  4. tipurile de date afectează performanța. Cu cât baza de date are mai puțin timp să deducă valori sau să le convertească, cu atât mai bine. „Este 32 decembrie 2015 o dată ?”

tipuri de date SQL Server utilizate frecvent

în SQL definiți ce fel de date pentru a stoca în coloane. Unele exemplu include text sau date numerice.,

acesta este tipul de date al coloanei și una dintre cele mai importante proprietăți ale acesteia, deoarece determină singură dacă o valoare este valabilă pentru stocarea într-o coloană.

există peste treizeci de tipuri diferite de date pe care le puteți alege atunci când definiți coloane, unele au utilizări specifice, cum ar fi stocarea imaginilor.în acest articol vom acoperi cele șapte tipuri de date pe care le veți întâlni cel mai frecvent în utilizarea de zi cu zi a SQL., Acestea sunt:

  • int
  • VARCHAR, NVARCHAR
  • DATETIME
  • zecimal, FLOAT
  • BIT

Int – Integer Data Type

tipul de date întregi stochează numere întregi. Exemplele includ -23, 0, 5 și 10045. Numerele întregi nu includ zecimale. Deoarece serverul SQL utilizează un număr de cuvinte de calculator pentru a reprezenta un număr întreg, există valori maxime și minime pe care le poate reprezenta. Un tip de date INT poate stoca o valoare de la -2,147,483,648 la 2,147,483,647.,

utilizările practice ale tipului de date INT includ utilizarea acestuia pentru a număra valori, a stoca vârsta unei persoane sau a utiliza ca cheie ID pentru un tabel.

dar INT nu ar fi atât de bun pentru a urmări un spațiu de adrese pe hard disk terabyte, deoarece tipul de date INT merge doar la 2 miliarde și ar trebui să urmărim în trilioane. Pentru asta, ai putea folosi BIGINT.

tipul de date INT este utilizat în calcule., Deoarece DaysToManufacture este definit ca INT putem calcula cu ușurință de ore prin înmulțirea cu 24:

SELECT Nume, DaysToManufacture, DaysToManufacture * 24 ca HoursToManufactureFROM de Producție.Produs
/* Answer */SELECT Name, DaysToManufacture, DaysToManufacture * 24 as HoursToManufactureFROM Production.Product

Aici puteți vedea rezultatele

Rezultatele INT calcule

Există mai multe operații și funcții, puteți folosi cu numere întregi care vom acoperi odată ce vom săpa în funcții.,

VARCHAR și nvarchar-Text valori

utilizați VARCHAR și nvarchar pentru a stoca valori de text de lungime variabilă. „VARCHAR” înseamnă caracter de lungime variabilă.

specificați numărul de caractere pentru a stoca într-un VARCHAR sau NVARCHAR ca coloana este definită. Observați cum Numele este definit pentru a ține cincizeci de caractere:

VARCHAR definiție se arată în SSMS Obiect Explorer

Ce face VARCHAR popular este că valorile de mai puțin de cincizeci de caractere ia mai puțin spațiu. Spațiul este alocat după cum este necesar., Aceasta diferă de tipul de date CHAR care alocă întotdeauna lungimea specificată, indiferent de lungimea datelor reale stocate.

tipul de date VARCHAR poate stoca de obicei un maxim de 8.000 de caractere. Utilizați tipul de date NVARCHAR pentru a stoca textul Unicode. Deoarece caracterele UNICODE ocupă de două ori spațiul, coloanele NVARCHAR pot stoca maximum 4.000 de caractere.

avantajul NVARCHAR are peste VARCHAR este că poate stoca caractere Unicode. Acest lucru face util pentru a stoca seturi de caractere extinse, cum ar fi cele utilizate pentru limbi, cum ar fi Kanji.,bazele de date proiectate înainte de SQL 2008 folosesc de obicei VARCHAR; cu toate acestea, bazele de date mai moderne sau cele globale tind să utilizeze NVARCHAR.

DATETIME-data și ora

Utilizați tipul de date DATETIME pentru a stoca data și ora. Un exemplu de valoare DATATIME este

1968-10-23 1:45:37.123

aceasta este valoarea pentru 23 octombrie 1968 la 1:45 AM. De fapt, timpul este mai precis decât atât. Timpul este într-adevăr 45 minute, 37.123 secunde.în multe cazuri, trebuie doar să stocați data. În aceste cazuri, componenta de timp este zero., Astfel, 5 noiembrie 1972 este

1972-11-05 00:00:00.000

un DATETIME poate stoca date de la 1 ianuarie 1753, până la 31 decembrie 9999. Acest lucru face ca DATETIME să fie bun pentru înregistrarea datelor în lumea de astăzi, dar nu atât în cea a lui William Shakespeare.

pe măsură ce vă familiarizați mai mult cu diferitele funcții SQL încorporate, veți putea manipula datele. Pentru a vă oferi o privire, vom folosi funcția de an pentru a număra angajații angajați în fiecare an. Când este dată o valoare DATETIME, funcția an returnează anul.,

interogarea vom folosi este

beneficiul este tipul DATETIME asigură valorile sunt date valide. Odată ce acest lucru este asigurat, putem folosi o mulțime de funcții pentru a calcula numărul de zile dintre date, luna unei date și așa mai departe.vom explora aceste funcții în detaliu într-un alt articol din blog.

zecimale și FLOAT-zecimale

utilizați ambele tipuri de date zecimale și FLOAT pentru a lucra cu valori zecimale, cum ar fi 10.3.,

am împărțit zecimale și plutesc în aceeași categorie, deoarece ambele pot gestiona valori cu puncte zecimale; cu toate acestea, ambele fac acest lucru diferit:

Dacă aveți nevoie de valori precise, cum ar fi atunci când lucrați cu date financiare sau contabile, atunci utilizați zecimal. Motivul este datatype zecimal vă permite să definiți numărul de puncte zecimale pentru a menține.

zecimale

tipuri de date zecimale sunt definite de precizie și scară. Precizia determină numărul de cifre totale pentru a stoca; întrucât, scara determină numărul de cifre la dreapta punctului zecimal.,

un tip de date zecimal este specificat ca zecimal (precizie,scală).

un tip de date zecimal nu poate fi mai mare de 38 de cifre. Precizia și scala trebuie să respecte următoarea relație

0 <= scale <= precision <= 38 digits

în producție.Tabelul produsului, Tipul de date al coloanei de greutate este definit ca zecimal(8,2). Prima cifră este precizia, a doua scara.

greutatea este definită ca având opt cifre totale, două dintre ele în dreapta zecimalei. Vom următoarea interogare eșantion pentru a ilustra modul în care acest tip de date.,

selectați greutatea distinctă din producție.ProductWHERE Greutate ÎNTRE 29.00 și 189.00 SCOPUL DE Greutate DESC
/* Answer */SELECT DISTINCT WeightFROM Production.ProductWHERE Weight BETWEEN 29.00 and 189.00ORDER BY Weight DESC

FLOAT

în cazul în Care ZECIMAL tipuri de date sunt mari, pentru numere exacte, Flotoare sunt foarte bune pentru o lungă perioadă de valori numerice. Deși o valoare zecimală poate avea 38 de cifre în total, în multe aplicații inginerești și științifice acest lucru este inadecvat. FLOAT se ridică la partea de sus în aplicații științifice în cazul în care sunt întâlnite valori numerice extreme!flotoarele au un interval de la – 1.,79E+308 la 1.79 e+308. Asta înseamnă că cea mai mare valoare poate fi 179 urmată de 306 zerouri (mare într-adevăr!).

Din cauza modului în care datele float sunt stocate în computer (a se vedea specificația în virgulă mobilă IEEE 754), Numărul stocat este o aproximare extrem de apropiată. Pentru multe aplicații, Acest lucru este suficient de bun.din cauza comportamentului aproximativ, evitați utilizarea <> și = operatori în clauza WHERE. Această declarație a ars mai DBA!

WHERE mass = 2.5

așteptarea lor este întreruptă atunci când masa ar trebui să fie egală cu 2.,5, dar într-adevăr, pe computer, este stocat ca 2.499999999999999; prin urmare, nu este egal cu 2.500000000000000!

aceasta este natura punctelor plutitoare și a computerelor. Tu și eu văd 2.4999999999999999 și cred că în scopuri practice este 2.5, dar la calculator, au fost oprite doar un pic. J

BIT – Boolean sau Da / Nu valori

există momente când trebuie doar să stocați dacă ceva „este” sau „nu este.”De exemplu, dacă un angajat este activ. În aceste cazuri, tipul de date de biți vine la propriu. Acest tip de date este una dintre cele trei stări: 1, 0 sau NULL.,

valoarea lui 1 semnifică TRUE și 0 FALSE.

În această interogare, am lista cu toate salariați poziția titluri de locuri de muncă

SELECT DISTINCT JobTitleFROM Umane.EmployeeWHERE SalariedFlag = 1
SELECT DISTINCT JobTitleFROM HumanResources.EmployeeWHERE SalariedFlag = 1

Am putea avea, de asemenea, utilizat „Adevărat”, în loc de 1. Iată același exemplu folosind „True”

Leave a Comment