Ghidul bazei de date

În MySQL, puteți utiliza funcția DATE_SUB() pentru a scădea o anumită perioadă de timp dintr-o dată. De exemplu, o puteți utiliza pentru a scădea 7 zile dintr-o anumită dată. Puteți specifica dacă doriți să scădeți zile, săptămâni, luni, trimestre, ani etc. Puteți, de asemenea, să scădeți o valoare de timp, cum ar fi secunde, microsecunde etc.

Această funcție este similară cu DATE_ADD(), cu excepția faptului că scade dintr-o dată în loc să adauge la ea.

Sintaxa

Sintaxa este următoarea:

DATE_SUB(date,INTERVAL expr unit)

Exemplu 1 – Utilizare de bază

Iată un exemplu de utilizare.

SELECT DATE_SUB('2021-05-07', INTERVAL 5 DAY) AS Result;

Rezultat:

+------------+| Result |+------------+| 2021-05-02 |+------------+

Acest exemplu scade 5 zile din data furnizată de primul argument.

Exemplu 2 – Alte unități de dată

Puteți specifica unitățile de măsură în zile, săptămâni, luni, ani, etc. Iată câteva exemple.

SELECT '2021-05-07' AS 'Start Date', DATE_SUB('2021-05-07', INTERVAL 2 WEEK) AS '-2 Weeks', DATE_SUB('2021-05-07', INTERVAL 2 MONTH) AS '-2 Months', DATE_SUB('2021-05-07', INTERVAL 2 QUARTER) AS '-2 Quarters', DATE_SUB('2021-05-07', INTERVAL 2 YEAR) AS '-2 Years';

Rezultat:

+------------+------------+------------+-------------+------------+| Start Date | -2 Weeks | -2 Months | -2 Quarters | -2 Years |+------------+------------+------------+-------------+------------+| 2021-05-07 | 2021-04-23 | 2021-03-07 | 2020-11-07 | 2019-05-07 |+------------+------------+------------+-------------+------------+

Exemplu 3 – Unități de timp

De asemenea, puteți scădea unitățile de timp dintr-o valoare de dată/ora. Iată un exemplu.

SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL 5 HOUR) AS Result;

Rezultat:

+---------------------+| Result |+---------------------+| 2021-05-07 05:00:00 |+---------------------+

Și puteți specifica mai multe unități în același timp. De exemplu, puteți specifica ore și minute. Astfel:

SELECT DATE_SUB('2021-05-07 10:00:00', INTERVAL '1:30' HOUR_MINUTE) AS Result;

Rezultat:

+---------------------+| Result |+---------------------+| 2021-05-07 08:30:00 |+---------------------+

Valori așteptate

Tabelul următor prezintă valorile unităților valide și formatul lor așteptat.

.

.

.

unit Valoare Așteptată expr Format
MICROSECUNDE MICROSECUNDE
SECUNDĂ SECUNDE
MINUT MINUT
ORĂ ORE ORE
ZI ZILE
SĂPTĂMÂNĂ SĂPTĂMÂNI
LUNĂ LUNI
TRIMESTRU TRIMESTRE
AN ANI
SECUNDĂ_MICROSECUNDĂ ‘SECUNDE.MICROSECUNDE’
MINUTE_MICROSECUNDE ‘MINUTE:SECUNDE.MICROSECUNDE’
MINUTE_SECUNDE ‘MINUTE:SECUNDE’
HOUR_MICROSECUNDE ‘ORE:MINUTE:SECUNDE.MICROSECUNDE’
ORA_SECUNDĂ ‘ORE:MINUTE:SECUNDE’
ORA_MINUT ‘ORE:MINUTE’
ZI_MICROSECUNDĂ ‘ZILE ORE:MINUTE:SECUNDE.MICROSECUNDE’
DAY_SECOND ‘DAYS HOURS:MINUTES:SECONDS’
DAY_MINUTE ‘DAYS HOURS:MINUTE’
DAY_HOUR ‘DAYS HOURS’
YEAR_MONTH ‘YEARS-‘.MONTHS’

Puteți utiliza, de asemenea, funcția SUBDATE() pentru a face același lucru (este un sinonim pentru funcția DATE_SUB() atunci când se utilizează aceeași sintaxă).

În plus, sintaxa lui SUBDATE() are o a doua formă, care este o metodă prescurtată de a scădea un anumit număr de zile dintr-o dată. Pentru mai multe informații, consultați Exemple de SUBDATE() în MySQL.

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.