SQL Server DateTypes: Varchar, Numeric, Date Time (Exemple T-SQL)

Cuprins:

Anonim

Ce este Datatype?

Un tip de date este definit ca tipul de date pe care orice coloană sau variabilă le poate stoca în MS SQL Server.

În timp ce creați orice tabel sau variabilă, pe lângă specificarea numelui, setați și tipul de date pe care îl va stoca.

Cum se utilizează tipul de date MS SQL

  • Trebuie să definiți în avans, tipul de date pe care o coloană sau o variabilă le poate stoca. Determinarea tipului de date restricționează, de asemenea, utilizatorul să nu introducă date neașteptate sau nevalide.
  • Puteți face o utilizare eficientă a memoriei prin atribuirea unui tip de date adecvat variabilei sau coloanei care va aloca doar cantitatea necesară de memorie de sistem pentru datele coloanei respective.
  • MS SQL oferă o categorie largă de tipuri de date în funcție de nevoile utilizatorului. Ca Data, imagini binare etc.

În acest tutorial, veți învăța:

  • Ce este Datatype?
    • Cum se utilizează tipul de date MS SQL
  • De ce să folosim DataTypes?
    • Numeric exact
    • Numerice aproximative
    • Data si ora
    • Corzi de caractere
    • Șiruri de caractere Unicode
    • Șir binar
    • Alte tipuri de date

De ce să folosim DataTypes?

Să luăm un eșantion de pagină simplă de înscriere a aplicației site-ului web. Trei câmpuri de intrare sunt prenume, prenume și număr de contact.

Aici ar trebui să observăm că, în timp real:

  • „Prenume / Prenume” va fi întotdeauna alfabetic .
  • „Contactul” va fi întotdeauna numeric .

  • Din imaginea de mai sus merită să definiți „Prenume / Prenume” ca personaj și Contact” ca număr întreg .

Este evident că în orice aplicație, toate câmpurile au unul sau alt tip de date. De exemplu, numeric, alfabetic, dată și multe altele.

De asemenea, rețineți că un tip de date diferit are cerințe de memorie diferite. Prin urmare, este mai logic să definiți coloana sau variabila cu tipul de date pe care îl va deține pentru o utilizare eficientă a memoriei.

Tipul de date disponibil în MS SQL

Serverul MS SQL acceptă următoarele categorii de tipuri de date:

  • Numerică exactă
  • Numerice aproximative
  • Data si ora
  • Corzi de caractere
  • Șiruri de caractere Unicode
  • Șiruri binare
  • Alte tipuri de date
Tipuri de date MSQL

Numeric exact

Numericul exact are nouă tipuri de tipuri de sub-date. Tipuri de date numerice exacte

Tipul de date Descriere Limita inferioara Limita superioară Memorie
bigint Stochează numere întregi în intervalul dat −2 63 (−9.223.372, 036.854.775.808) 2 63−1 (−9.223.372, 036.854.775.807) 8 octeți
int Stochează numere întregi în intervalul dat −2 31 (−2,147, 483,648) 2 31−1 (−2.147, 483.647) 4 octeți
smallint Stochează numere întregi în intervalul dat −2 15 (−32.767) 2 15 (−32.768) 2 octeți
tinyint Stochează numere întregi în intervalul dat 0 255 1 octet
pic Poate lua valori 0, 1 sau NULL. 0 1 1 octet / coloană de 8 biți
zecimal Folosit pentru scară și numere fixe de precizie −10 38 + 1 10 381−1 5 până la 17 octeți
numeric Folosit pentru scară și numere fixe de precizie −10 38 + 1 10 381−1 5 până la 17 octeți
bani Date monetare utilizate −922.337, 203, 685.477,5808 +922.337, 203, 685.477,5807 8 octeți
bani mici Date monetare utilizate −214.478,3648 +214.478,3647 4 octeți

Exemple:

Interogare:

DECLARE @Datatype_Int INT = 2PRINT @Datatype_Int

Ieșire: 2

Sintaxă: Zecimală (P, S)

Aici,

  • P este precizie
  • S este scara

Interogare:

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

Ieșire: 2.31

Numerice aproximative

Categoria Numerică aproximativă include valori în virgulă mobilă și reale. Acestea sunt utilizate mai ales în calculele științifice. Tip de date numerice aproximative

Tipul de date Descriere Limita inferioara Limita superioară Memorie Precizie
plutitor (n) Folosit pentru un număr de precizie flotant −1.79E + 308 1.79E + 308 Depinde de valoarea lui n 7 cifre
real Folosit pentru un număr de precizie flotant −3.40E + 38 3.40E + 38 4 octeți 15 cifre
Syntax: FLOAT [(n)] 

Aici, n este numărul de biți care sunt utilizați pentru a stoca mantisa numărului plutitor în notație științifică. În mod implicit, valoarea lui n este 53.

Când utilizatorul definește un tip de date ca float, n ar trebui să fie o valoare cuprinsă între 1 și 53.

SQL Server tratează n ca una dintre cele două valori posibile. Dacă 1 <= n <= 24, n este tratat ca 24. Dacă 25 <= n <= 53, n este tratat ca 53.

Exemplu de interogare:

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

Ieșire: 22.1234

Data si ora

Stochează date de tip Data și ora. Data și ora Tip de date

Tipul de date Descriere Dimensiunea stocării Precizie Gama inferioară Gama superioară
DateTime Folosit pentru specificarea unei date și orei de la 1 ianuarie 1753 la 31 decembrie 9999. Are o precizie de 3,33 milisecunde. 8 octeți Rotunjit la pași de .000, .003, .007 1753-01-01 9999-12-31
smalldatetime Folosit pentru specificarea unei date și a orelor de la 1 ianuarie 0001 până la 31 decembrie 9999. Are o precizie de 100 nanosecunde 4 octeți, fix 1 minut 01-01 1900 2079-06-06
Data Folosit pentru a stoca numai data de 1 ianuarie 0001 până la 31 decembrie 9999 3 octeți, fix 1 zi 0001-01-01 9999-12-31
timp Folosit pentru stocarea numai a valorilor de timp cu o precizie de 100 nanosecunde. 5 octeți 100 nanosecunde 00: 00: 00.0000000 23: 59: 59.9999999
datetimeoffset Similar cu ora de date, dar are un decalaj de fus orar 10 octeți 100 nanosecunde 0001-01-01 9999-12-31
datetime2 Folosit pentru specificarea unei date și a orelor de la 1 ianuarie 0001 până la 31 decembrie 9999 6 octeți 100 nanosecunde 0001-01-01 9999-12-31

Exemplu de interogare:

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

Ieșire: „2030-01-01”

Corzi de caractere

Această categorie este legată de un tip de caracter. Permite utilizatorului să definească tipul de date al caracterului care poate avea o lungime fixă ​​și variabilă. Are patru tipuri de tipuri de date. Șiruri de caractere Tipuri de date

Tipul de date Descriere Limita inferioara Limita superioară Memorie
char Este un șir de caractere cu o lățime fixă. Stochează maximum 8.000 de caractere. 0 caractere 8000 de caractere n octeți
varchar Acesta este un șir de caractere cu lățime variabilă 0 caractere 8000 de caractere n octeți + 2 octeți
varchar (max) Acesta este un șir de caractere cu o lățime variabilă. Stochează maximum 1.073.741.824 de caractere. 0 caractere 2 31 caractere n octeți + 2 octeți
text Acesta este un șir de caractere cu o lățime variabilă. Stochează maximum 2 GB de date text. 0 caractere 2.147.483.647 caractere n octeți + 4 octeți

Exemplu de interogare:

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

Ieșire: acesta este tipul de date de caracter

Șiruri de caractere Unicode

Această categorie stochează întreaga gamă de caractere Unicode care utilizează codarea caracterelor UTF-16. Tipuri de date pentru șiruri de caractere Unicode

Tipul de date Descriere Limita inferioara Limita superioară Memorie
nchar Este un șir Unicode cu lățime fixă 0 caractere 4000 de caractere De 2 ori n octeți
nvarchar Este un șir unicode cu lățime variabilă 0 caractere 4000 de caractere De 2 ori n octeți + 2 octeți
ntext Este un șir unicode cu lățime variabilă 0 caractere 1.073.741.823 char De 2 ori lungimea șirului

Exemplu de interogare:

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

Ieșire: Acesta este tipul de date nCharacter

Șir binar

Această categorie conține un șir binar de lungime fixă ​​și variabilă. Tipuri de date de șiruri binare

Tipul de date Descriere Limita inferioara Limita superioară Memorie
binar Este un șir binar cu lățime fixă. Acesta stochează maximum 8.000 de octeți. 0 octeți 8000 octeți n octeți
varbinar Acesta este un șir binar cu lățime variabilă. Acesta stochează maximum 8.000 de octeți 0 octeți 8000 octeți Lungimea reală a datelor introduse + 2 octeți
imagine Acesta este un șir binar cu lățime variabilă. Stochează maximum 2 GB. 0 octeți 2.147.483.647 octeți

Exemplu de interogare:

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

Ieșire: 0x000C

Alte tipuri de date

Acestea sunt alte tipuri de date diferite, cu descrierea de mai jos-

Tipul de date Descriere
Cursor Ieșirea sa este o coloană de sp_cursor_list și sp_describe_cursor. Returnează numele variabilei cursorului.
Versiunea rând Versiunea ștampilează rândurile de tabel
Ierarhid Acest tip de date reprezintă o poziție în ierarhie
Identificator unic Conversia dintr-o expresie de caracter.
Sql_variant Stochează valorile tipurilor de date acceptate de serverul SQL.
XML Stochează date XML într-o coloană.
Tipul de geometrie spațială Reprezintă datele într-un sistem plat de coordonate.
Tipul de geografie spațială Reprezintă date în sistemul de coordonate rotund-pământ.
masa Stochează un set de rezultate pentru procesare ulterioară.

Fapte interesante!

  • Tipul de date CHAR este mai rapid decât VARCHAR în timpul preluării datelor.

Rezumat:

  • Fiecare coloană din tabele se definește cu tipul său de date în timpul creării tabelului.
  • Există șase categorii principale și o altă categorie diversă. Alte diverse au nouă subcategorii de tipuri de date disponibile.