Articles

baza de date.Ghid

Posted by admin

Transact-SQL include o grămadă de funcții care ne ajută să lucrăm cu date și ore. Una dintre cele mai frecvente sarcini atunci când lucrați cu date este extragerea diferitelor părți ale datei. De exemplu, uneori vrem doar Anul sau luna. Alteori am putea dori ziua săptămânii. Oricum, există o mulțime de moduri de a face acest lucru în SQL Server.

în special, următoarele funcții vă permit să returnați ziua, luna și anul de la o dată în SQL Server.,

  • DAY(), MONTH(), și YEAR()
  • DATEPART()
  • DATENAME()
  • FORMAT()

Aceste funcții sunt explicitate mai jos.

funcțiile DAY(), MONTH () și YEAR ()

cel mai evident mod de a returna ziua, luna și anul de la o dată este de a utiliza funcțiile T-SQL cu același nume. Da, T-SQL are funcții construite special pentru a returna aceste trei părți de date.,

Aici e un exemplu de cum funcționează:

DECLARE @date datetime2 = '2018-06-02 08:24:14.3112042';SELECT DAY(@date) AS DAY, MONTH(@date) AS MONTH, YEAR(@date) AS YEAR;

Rezultat:

+-------+---------+--------+| DAY | MONTH | YEAR ||-------+---------+--------|| 2 | 6 | 2018 |+-------+---------+--------+

Aceste funcții returnează datepart ca un întreg. Ei returnează același rezultat ca DATEPART() funcția returnează pentru datepart specificat.

funcția DATEPART ()

funcția DATEPART() a fost construită special pentru returnarea unor părți specificate ale unei date., Prin urmare, putem folosi această funcție pentru a returna exact același rezultat ca exemplul anterior:

rezultat:

+-------+-----------+---------+--------+| DAY | WEEKDAY | MONTH | YEAR ||-------+-----------+---------+--------|| 2 | 7 | 6 | 2018 |+-------+-----------+---------+--------+

un beneficiu al utilizării acestei funcții este că puteți returna și alte părți ale datei și orei. După cum puteți vedea cu acest exemplu, am returnat ziua săptămânii, precum și ziua (day este ziua lunii, weekday este ziua săptămânii). De asemenea, puteți returna diferitele părți de timp, cum ar fi minute, secunde, milisecunde etc. Pentru mai multe exemple, consultați DATEPART() exemple în SQL Server.,

funcția DATEPART() returnează rezultatul ca un număr întreg și, prin urmare, nu veți putea obține numele lunii sau numele săptămânii de la dată. Dar nu vă faceți griji, puteți utiliza funcțiile DATENAME()sau FORMAT() pentru asta.

DATENAME Funcția ()

DATENAME() funcția este similară cu DATEPART() funcție, cu excepția faptului că acesta returnează rezultatul ca un șir de caractere în loc de un întreg., DATENAME() returnează, de asemenea, luna și ziua săptămânii ca nume complet, mai degrabă decât valoarea lor numerică.

Exemplu:

Rezultat:

+-------+-----------+---------+--------+| DAY | WEEKDAY | MONTH | YEAR ||-------+-----------+---------+--------|| 2 | Saturday | June | 2018 |+-------+-----------+---------+--------+

Pentru mai multe exemple din această funcție, a se vedea DATENAME() Exemple în SQL Server.

funcția FORMAT ()

putem folosi funcția FORMAT() pentru a returna aceleași valori ca și funcția DATENAME() și multe altele.aceasta este o funcție mai versatilă decât cele anterioare. Vă permite să formatați data / ora, precum și valorile numerice ca șiruri de caractere., Valoarea returnată este fie nvarchar, fie null (în funcție de intrare), iar lungimea șirului este determinată de formatul specificat.

FORMAT() oferă, de asemenea, mai multe opțiuni pentru modul în care este prezentată partea de date. Puteți specifica dacă să-l afișați ca un singur caracter, două caractere, trei, patru și chiar cinci în unele cazuri.

Iată Exemple de demonstrat.,

Zi

Rezultat:

+-----+------+-------+----------+| d | dd | ddd | dddd ||-----+------+-------+----------|| 2 | 02 | Sat | Saturday |+-----+------+-------+----------+

Luni

Rezultat:

+-----+------+-------+--------+| M | MM | MMM | MMMM ||-----+------+-------+--------|| 6 | 06 | Jun | June |+-----+------+-------+--------+

An

Rezultat:

+-----+------+-------+--------+---------+| y | yy | yyy | yyyy | yyyyy ||-----+------+-------+--------+---------|| 18 | 18 | 2018 | 2018 | 02018 |+-----+------+-------+--------+---------+

Observați că avem opțiunea de formatare anul porțiune de cinci cifre.

Despre Numărul de Cifre

Când se întoarce o datepart în cifre forma, specificatorul de format determină numărul minim de cifre pentru a reveni., De exemplu, atunci când se utilizează yyy, anul va fi returnat ca trei cifre dacă anul este 0008 dar ca patru cifre dacă anul este 2008.

Exemplu:

Rezultat:

+-----+------+-------+--------+---------+| y | yy | yyy | yyyy | yyyyy ||-----+------+-------+--------+---------|| 8 | 08 | 008 | 0008 | 00008 |+-----+------+-------+--------+---------+

de Asemenea, atunci când se utilizează singură opțiune (de exemplu, d) ca data specificator, veți avea nevoie pentru a adăuga un spațiu, dacă doriți doar că datepart a revenit de la sine. Dacă nu faceți acest lucru, veți obține mai mult decât acea parte de date unică.,

Exemplu:

Rezultat:

+---------+------------+---------+------------+---------+------------+| Space | No Space | Space | No Space | Space | No Space ||---------+------------+---------+------------+---------+------------|| 2 | 6/2/2008 | 6 | June 2 | 8 | June 2008 |+---------+------------+---------+------------+---------+------------+

Pentru mai multe FORMAT() exemple, a se vedea Cum pentru a Formata Data și Ora în SQL Server.

Leave A Comment