Home - Rasfoiesc.com
Educatie Sanatate Inginerie Business Familie Hobby Legal
Doar rabdarea si perseverenta in invatare aduce rezultate bune.stiinta, numere naturale, teoreme, multimi, calcule, ecuatii, sisteme




Biologie Chimie Didactica Fizica Geografie Informatica
Istorie Literatura Matematica Psihologie

Sql


Index » educatie » » informatica » Sql
» Tipurile de date DATETIME si SMALLDATETIME


Tipurile de date DATETIME si SMALLDATETIME


Tipurile de date DATETIME si SMALLDATETIME

Aceste tipuri de date permit stocarea unei combinatii de data si ora. Este de preferat sa memoram datele calendaristice si orele sub forma unui astfel de tip de date decat sub forma CHAR sau VARCHAR, pentru ca afisarea este mai facila deoarece SQL Server genereaza automat un format corespunzator. Exista si functii specializate pentru date si ore care se pot folosi pentru a manipula valorile memorate astfel.

Tipul de date DATETIME permite stocarea de date si ore intre 01.01.1753 EN si 31.12.9999 EN. Valorile de acest tip se memoreaza pe 8 octeti.

SQL Server foloseste primii 4 octeti pentru a stoca numarul de zile dupa (numere pozitive) sau pana la (numere negative) data de referinta 1 ian 1900. In ceilalti 4 octeti se memoreaza ora, ca numar de milisecunde scurse de la miezul noptii.

Valorile de acest tip ofera o acuratete de 3.33 ms, si sunt rotunjite in jos.



In comanda INSERT sau intr-o alta instructiune, valorile de tip DATETIME trebuie incadrate intre apostrof. Ordinea relativa intre data si ora nu conteaza, pentru ca SQL Server este capabil sa recunoasca ambele repere si sa le stocheze corespunzator. De exemplu, data calendaristica poate fi scrisa cu majuscule sau nu, intre luna, zi si an pot fi inserate unul sau mai multe spatii.

La regasirea datelor de tip DATATIME, formatul implicit de afisare este:

LLL ZZ AAAA hh: mm AM / PM.

Daca se specifica doar ora, data implicita este 1 ianuarie 1900. Daca se omite ora, ora implicita este 12:00 AM. Cand se omit amandoua, valoarea implicita este 1 ianuarie 1900, 12:00 AM.

Exemple pentru specificarea datelor calendaristice:

Sep 23 1913

23 Sep 1913

September 23 1913

sep 1949 23

1949 sep 23

1949 23 sep.

Data poate fi specificata sub forma literala, folosind sau nu prescurtari pentru numele lunii. Separarea intre zi si an se poate face prin virgula, dar nu obligatoriu. Daca nu se specifica partea de secol din cadrul anului, valorile mai mici dacit 50 se considera incepand cu anul 2000, iar cele mai mari egale cu 50, se considera incepand cu anul 1950. Daca nu se specifica ziua, aceasta este considerata implicit prima zi a lunii, iar in acest caz secolul trebuie precizat.

Forma numerica pentru valorile DATETIME permite utilizarea simbolurilor    " / ", " - ", " . " pentru separarea diverselor elemente. Forma numerica presupune folosirea unui separator intre luna, zi si an ordinea acestora fiind definita de dataformat.

Daca se introduc valori de tip DATETIME fara a respecta ordinea corecta, ele vor fi interpretate eronat si stocate in consecinta.

Exemple de forme numerice pentru partea de data dintr-o valoare de tip DATETIME, ordinea fiind definita de Set dataformat ca luna-zi-an:

6/24/71

06/24/71

6-24-1971

6.24.1971

06.24.71

O alta forma posibila pentru partea de data dintr-o valoare de tip DATETIME consta in introducerea unei secvente de 6 sau 8 cifre, care este interpretata invariabil in ordinea

an - luna - zi. Luna si ziua reprezinta intotdeauna 2 cifre. Secventele de 4 cifre sunt interpretate ca reprezentand un an, iar luna si ziua se considera implicit ca fiind prima luna si prima zi din acea luna. Aceasta forma pentru valorile de tip DATETIME nu este influentata de set dateformat.

Exemplu:

710624 June 24 1971

1971 06 24 June 24 1971

1971 January 01, 1971

71 incorect

` ` January 01, 1900, 12:00 AM

Cand se lucreaza cu tipul DATETIME, la inserarea unui sir vid intr-o astfel de coloana, nu se obtine valoarea null, asa cum ne-am astepta, ci data 1 ianuarie 1900, ora 12 noaptea.

La specificarea unei ore trebuie respectata ordinea elementelor componente: ora, minutul, secunda si milisecunda. Pentru ca o astfel de secventa sa fie recunoscuta ca ora si nu ca data calendaristica, elementele componente se separa prin " : ". Se pot folosi simbolurile AM sau PM cu majuscule sau minuscule. Milisecundele pot fi precedate de un punct sau doua. Un punct urmat de o singura cifra reprezinta zecimi de secunda, doua cifre sunt interpretate ca sutimi de secunda, trei cifre sunt interpretate ca miimi de secunda.

Exemplu:

11 : 21 - ora 11 si 21 minute dupa miezul noptii

11 : 21 :15 :871 ora 11, 21 minute, 15 secunde, 871 miimi secunda dupa miezul noptii

11 : 21 : 15 . 8 ora 11, 21 minute, 15 secunde, 8 zecimi secunda AM

6 am

7 PM

05 : 21 : 15 : 500 ora 5, 21 minute, 15 secunde, 500 milisecunde dupa miezul noptii

Tipul de date SMALLDATETIME permite stocarea de date si ore intre 01.01.1900 EN si 06.06.2079 EN. O valoare de acest tip ocupa 4 octeti, din care 2 octeti pentru numarul de zile, dupa data de referinta 1 ianuarie 1900 si 2 octeti pentru numarul de minute scurse de la miezul noptii.

Acuratetea este de 1 minut. Se foloseste pentru stocarea unor valori care se incadreaza intr-un interval mai restrans si precizie mai mica, spre deosebire de DATETIME.





Politica de confidentialitate





Copyright © 2024 - Toate drepturile rezervate