logo

SQL datos ir laiko funkcijos

Į SQL , datos yra sudėtingos naujokams, nes dirbant su duomenų baze, lentelės duomenų formatas turi būti suderintas su įvedamais duomenimis. Įvairiuose scenarijuose vietoj datos naudojamas datos laikas (laikas taip pat susijęs su data).

Norėdami išsaugoti datą arba datos ir laiko reikšmę duomenų bazėje, MySQL siūlo šiuos duomenų tipus:

DATA formatu YYYY-MM-DD
DATETIME formatas: YYYY-MM-DD HH:MI: SS
TIMESTAMP formatas: YYYY-MM-DD HH:MI: SS
METAI formatu YYYY arba YY

Dabar pereikite prie kai kurių populiarių SQL datos funkcijų funkcijų.



DABAR ()

Grąžina dabartinę datą ir laiką.

Užklausa:

SELECT NOW();>

Išvestis:

alfa beta genėjimas

dabar metodas išvesties vaizdas

CURDATE ()

Grąžina dabartinę datą.

Užklausa:

SELECT CURDATE();>

Išvestis:

IŠVADA2

CURTIME ()

Grąžina esamą laiką.

Užklausa:

SELECT CURTIME();>

Išvestis:

IŠVADA3

DATA()

Ištraukia datos dalį arba datos / laiko išraišką. Pavyzdys: toliau pateiktoje lentelėje pavadinimu „Test“

Id vardas Gimimo laikas
4120 Praktika 1996-09-26 16:44:15,581

Užklausa:

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

Išvestis:

vardas Gimimo data
Praktika 1996-09-26

IŠTRAUKTI ()

Grąžina vieną datos / laiko dalį.

Sintaksė

IŠRAŠAS (vienetas NUO datos);

Galima apsvarstyti keletą vienetų, tačiau naudojami tik kai kurie, pvz MIKROSEUNDĖ, ANTRA, MINUTĖ, VALANDA, DIENA, SAVAITĖ, MĖNESIS, KETVIRTIS, METAI ir kt. Ir „data“ yra tinkama datos išraiška. Pavyzdys: toliau pateiktoje lentelėje pavadinimu „Test“

Id vardas Gimimo laikas
4120 Praktika 1996-09-26 16:44:15,581

Užklausa:

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

Išvestis:

vardas Gimtadienis
Praktika 26

Užklausa:

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

Išvestis:

vardas Gimimo metai
Praktika devyniolika devyniasdešimt šeši

Užklausa:

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

Išvestis:

vardas GimimasAntras
Praktika 581

DATE_ADD()

Prie datos pridedamas nurodytas laiko intervalas.

Sintaksė:

DATE_ADD(data, INTERVAL galiojimo tipas);

Kur, data – galiojanti datos išraiška, o išraiška yra intervalų, kuriuos norime pridėti, skaičius. ir tipas gali būti vienas iš šių: MIKROSEUNDĖ, ANTRA, MINUTĖ, VALANDA, DIENA, SAVAITĖ, MĖNESIS, KETVARTIS, METAI ir tt Pavyzdys: toliau pateiktoje lentelėje, pavadintoje „Testas

Id vardas Gimimo laikas
4120 Praktika 1996-09-26 16:44:15,581

Užklausa:

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

Išvestis:

vardas Modifikuotas gimimo laikas
Praktika 1997-09-26 16:44:15,581

Užklausa:

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

Išvestis:

vardas BirthDayModified
Praktika 1996-10-26 16:44:15,581

Užklausa:

SELECT Name, DATE_ADD(BirthTime, INTERVAL  4 HOUR) AS BirthHourModified FROM Test;>

Išvestis:

vardas GimimasAntras
Praktika 1996-10-26 20:44:15,581

DATE_SUB()

Iš datos atima nurodytą laiko intervalą. DATE_SUB sintaksė yra tokia pati kaip DATE_ADD, tik skirtumas yra tas, kad DATE_SUB naudojamas tam tikram datos intervalui atimti.

DATEDIFF()

Grąžina dienų skaičių tarp dviejų datų.

Sintaksė:

DATEDIFF(data1, data2);

aštrus kampas

date1 & date2 – datos/laiko išraiška

Užklausa:

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

Išvestis:

DateDiff
10

DATOS FORMATAS()

Rodo datos / laiko duomenis skirtingais formatais.

Sintaksė:

DATE_FORMAT(data,formatas);

data yra tinkama data, o formatas nurodo datos / laiko išvesties formatą. Galima naudoti šiuos formatus:

  • %a – sutrumpintas savaitės dienos pavadinimas (sekmadienis–šeštadienis)
  • %b – sutrumpintas mėnesio pavadinimas (sausis–gruodis)
  • %c mėnuo, skaitinis (0–12)
  • %D – mėnesio diena su angliška priesaga (0, 1, 2, 3)
  • %d – mėnesio diena, skaitinė (00–31)
  • %e-mėnesio diena, skaitinė (0–31)
  • %f-mikrosekundės (000000-999999)
  • %h-valanda (00-23)
  • %h-valanda (01-12)
  • %I valanda (01-12)
  • %i minučių, skaitinė (00-59)
  • %j – metų diena (001-366)
  • %k valandos (0-23)
  • %l val. (1-12)
  • %M mėnesio pavadinimas (sausis–gruodis)
  • %m mėnuo, skaitinis (00-12)
  • %p-AM arba PM
  • %r-Laikas, 12 valandų (hh:mm: ss, po to AM arba PM)
  • %S sekundžių (00-59)
  • %s sekundžių (00-59)
  • % T laikas, 24 valandos (hh:mm: ss)
  • %U savaitė (00-53), kur sekmadienis yra pirmoji savaitės diena
  • %u-Savaitė (00–53), kai pirmadienis yra pirmoji savaitės diena
  • %V-Savaitė (01-53), kur sekmadienis yra pirmoji savaitės diena, naudojama su %X
  • %v-Week (01-53), kur pirmadienis yra pirmoji savaitės diena, naudojama kartu su %x
  • %W – savaitės dienos pavadinimas (sekmadienis–šeštadienis)
  • %w – savaitės diena (0 = sekmadienis, 6 = šeštadienis)
  • %X metai savaitei, kai sekmadienis yra pirmoji savaitės diena, keturi skaitmenys, naudojami su %V
  • %x-metai savaitei, kai pirmadienis yra pirmoji savaitės diena, keturi skaitmenys, naudojami su %v
  • % Y-Year, skaitiniai, keturi skaitmenys
  • %y-Year, skaitiniai, du skaitmenys