logo

SQL datuma un laika funkcijas

In SQL , datumi ir sarežģīti iesācējiem, jo, strādājot ar datu bāzi, tabulas datu formāts ir jāsaskaņo ar ievades datiem, kas jāievieto. Dažādos scenārijos datuma vietā tiek izmantots datetime (laiks ir saistīts arī ar datumu).

Lai datu bāzē saglabātu datumu vai datuma un laika vērtību, MySQL piedāvā šādus datu tipus:



DATUMS formātā GGGG-MM-DD
DATUMS LAIKS formāts: GGGG-MM-DD HH:MI: SS
LAIKZĪMOGS formāts: GGGG-MM-DD HH:MI: SS
GADS formātā GGGG vai GG

Tagad pārejiet pie dažām populārām funkcijām SQL datuma funkcijās.

TAGAD ()

Atgriež pašreizējo datumu un laiku.

Vaicājums:



SELECT NOW();>

Izvade:

tagad metodes izvades attēls

KRĀPIENS()

Atgriež pašreizējo datumu.



Vaicājums:

SELECT CURDATE();>

Izvade:

IZEJA2

KURTIME()

Atgriež pašreizējo laiku.

Vaicājums:

bloķējiet Android lietotni
SELECT CURTIME();>

Izvade:

IZEJA3

DATUMS()

Izvelk datuma daļu no datuma vai datuma/laika izteiksmes. Piemērs: tālāk esošajai tabulai ar nosaukumu “Pārbaude”

Id Vārds Dzimšanas laiks
4120 Prakse 1996-09-26 16:44:15,581

Vaicājums:

SELECT Name, DATE(BirthTime)  AS BirthDate FROM Test;>

Izvade:

Vārds Dzimšanas datums
Prakse 1996-09-26

EKSTRAKTS()

Atgriež vienu datuma/laika daļu.

Sintakse

EXTRACT(vienība NO datuma);

Var apsvērt vairākas vienības, bet tiek izmantotas tikai dažas, piemēram, MIKROSEUNDE, OTRĀ, MINŪTE, STUNDA, DIENA, NEDĒĻA, MĒNESIS, CETURS, GADS utt. Un “datums” ir derīga datuma izteiksme. Piemērs: tālāk esošajai tabulai ar nosaukumu “Pārbaude”

Id Vārds Dzimšanas laiks
4120 Prakse 1996-09-26 16:44:15,581

Vaicājums:

SELECT Name, Extract(DAY FROM  BirthTime) AS BirthDay FROM Test;>

Izvade:

Vārds Dzimšanas diena
Prakse 26

Vaicājums:

SELECT Name, Extract(YEAR FROM BirthTime) AS BirthYear FROM Test;>

Izvade:

Vārds Dzimšanas gads
Prakse deviņpadsmit deviņdesmit seši

Vaicājums:

SELECT Name, Extract(SECOND FROM  BirthTime) AS BirthSecond FROM Test;>

Izvade:

Vārds DzimšanaOtrā
Prakse 581

DATE_ADD()

Datumam pievieno noteiktu laika intervālu.

izlīdziniet attēlu ar css

Sintakse:

DATE_ADD(datums, INTERVAL izteikuma veids);

Kur, datums — derīga datuma izteiksme, un izteiksme ir intervālu skaits, ko vēlamies pievienot. un veids var būt viens no šiem: MIKROSEUNDE, OTRĀ, MINŪTE, STUNDA, DIENA, NEDĒĻA, MĒNESIS, CETURS, GADS utt. Piemērs: tālāk redzamajai tabulai ar nosaukumu “Pārbaude”

Id Vārds Dzimšanas laiks
4120 Prakse 1996-09-26 16:44:15,581

Vaicājums:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  1 YEAR) AS BirthTimeModified FROM Test;>

Izvade:

Vārds Dzimšanas laiksModificēts
Prakse 1997-09-26 16:44:15,581

Vaicājums:

SELECT Name, DATE_ADD(BirthTime,  INTERVAL 30 DAY) AS BirthDayModified FROM Test;>

Izvade:

Vārds BirthDayModified
Prakse 1996-10-26 16:44:15,581

Vaicājums:

Linux izmaiņu fails
SELECT Name, DATE_ADD(BirthTime, INTERVAL  4 HOUR) AS BirthHourModified FROM Test;>

Izvade:

Vārds DzimšanaOtrā
Prakse 1996-10-26 20:44:15,581

DATE_SUB()

No datuma atņem noteiktu laika intervālu. Sintakse DATE_SUB ir tāda pati kā DATE_ADD, tikai atšķirība ir tāda, ka DATE_SUB tiek izmantots, lai atņemtu noteiktu datuma intervālu.

DATEDIFF()

Atgriež dienu skaitu starp diviem datumiem.

Sintakse:

DATEDIFF(datums1, datums2);

date1 & date2- datuma/laika izteiksme

Vaicājums:

SELECT DATEDIFF('2017-01-13','2017-01-03') AS DateDiff;>

Izvade:

DateDiff
10

DATUMA FORMĀTS()

Parāda datuma/laika datus dažādos formātos.

Sintakse:

DATE_FORMAT(datums,formāts);

datums ir derīgs datums, un formāts norāda datuma/laika izvades formātu. Var izmantot šādus formātus:

  • %a — saīsināts nedēļas dienas nosaukums (sv.–sestdien)
  • %b — saīsināts mēneša nosaukums (janvāris–decembris)
  • %c mēnesis, skaitliski (0–12)
  • %D — mēneša diena ar angļu valodas sufiksu (0., 1., 2., 3.)
  • %d — mēneša diena, skaitliski (00-31)
  • %e-mēneša diena, skaitliski (0-31)
  • %f-mikrosekundes (000000-999999)
  • % H-stunda (00-23)
  • %h-stunda (01-12)
  • %I stunda (01-12)
  • %i minūtes, ciparu (00-59)
  • %j — gada diena (001-366)
  • %k stunda (0-23)
  • %l-stunda (1-12)
  • %M Month nosaukums (janvāris–decembris)
  • %m mēnesis, skaitliski (00-12)
  • %p-AM vai PM
  • %r-Laiks, 12 stundas (hh:mm: ss, kam seko AM vai PM)
  • %S sekundes (00-59)
  • %s sekundes (00-59)
  • % T laiks, 24 stundas (hh:mm: ss)
  • %U nedēļa (00-53), kur svētdiena ir nedēļas pirmā diena
  • %u nedēļa (00–53), kur pirmdiena ir nedēļas pirmā diena
  • %V nedēļa (01-53), kur svētdiena ir nedēļas pirmā diena, tiek lietots kopā ar %X
  • %v Nedēļa (01-53), kur pirmdiena ir nedēļas pirmā diena, tiek lietots kopā ar %x
  • %W — nedēļas dienas nosaukums (svētdiena–sestdiena)
  • %w — nedēļas diena (0 = svētdiena, 6 = sestdiena)
  • % X gads nedēļai, kurā svētdiena ir nedēļas pirmā diena, četri cipari, lietoti kopā ar %V
  • %x gads nedēļai, kurā pirmdiena ir nedēļas pirmā diena, četri cipari, lietoti kopā ar %v
  • % Y Year, ciparu, četri cipari
  • %y-Year, ciparu, divi cipari