Į 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

CURDATE ()
Grąžina dabartinę datą.
Užklausa:
SELECT CURDATE();>
Išvestis:

CURTIME ()
Grąžina esamą laiką.
Užklausa:
SELECT CURTIME();>
Išvestis:

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 kampasdate1 & 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