Database.Guide

W MySQL, możesz użyć funkcji DATE_SUB() aby odjąć określoną ilość czasu od daty. Na przykład, możesz użyć jej do odjęcia 7 dni od danej daty. Możesz określić, czy odjąć dni, tygodnie, miesiące, kwartały, lata, itp. Możesz również odjąć wartość czasu, taką jak sekundy, mikrosekundy itp.

Ta funkcja jest podobna do DATE_ADD(), z wyjątkiem tego, że odejmuje od daty zamiast dodawać do niej.

Syntaktyka

Składnia wygląda następująco:

DATE_SUB(date,INTERVAL expr unit)

Przykład 1 – Podstawowe użycie

Oto przykład użycia.

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

Wynik:

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

Ten przykład odejmuje 5 dni od daty dostarczonej przez pierwszy argument.

Przykład 2 – Inne jednostki daty

Możesz określić jednostki w dniach, tygodniach, miesiącach, latach, itp. Oto kilka przykładów.

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';

Result:

+------------+------------+------------+-------------+------------+| 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 |+------------+------------+------------+-------------+------------+

Przykład 3 – Jednostki czasu

Możesz również odjąć jednostki czasu od wartości daty/czasu. Oto przykład.

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

Wynik:

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

Możesz również określić wiele jednostek w tym samym czasie. Na przykład, możesz określić godziny i minuty. Tak jak poniżej.

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

Result:

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

Expected Values

Następująca tabela przedstawia prawidłowe wartości jednostek i ich oczekiwany format.

.

unit Wartość Oczekiwana expr Format
MIKROSEKUNDA MIKROSEKUNDY
SEKUNDA SEKUNDY
MINUTA MINUTY
GODZINA GODZINY
DOBA DNI
TYDZIEŃ TYGODNIE
MIESIĄC MIESIĄCE
QUARTER KWARTAŁY
YEAR ROK
SECOND_MICROSECOND ’SECONDS.MICROSECONDS’
MINUTE_MICROSECOND ’MINUTES:SECONDS.MICROSECONDS’
MINUTE_SECOND ’MINUTES:SECONDS’
HOUR_MICROSECOND ’HOURS:MINUTES:SECONDS.MICROSECONDS’
HOUR_SECOND ’HOURS:MINUTES:SECONDS’
HOUR_MINUTE ’HOURS:MINUTES’
DAY_MICROSECOND ’DAYS HOURS:MINUTES:SECONDS.MIKROSEKUND’
DAY_SECOND ’DAYS HOURS:MINUTES:SECONDS’
DAY_MINUTE ’DAYS HOURS:MINUTY’
DAY_HOUR ’DAYS HOURS’
YEAR_MONTH ’YEARS-.MONTHS’

Możesz również użyć funkcji SUBDATE(), aby zrobić to samo (jest to synonim funkcji DATE_SUB(), gdy używasz tej samej składni).

W dodatku, składnia SUBDATE() ma drugą postać, która jest skrótową metodą odejmowania pewnej liczby dni od daty. Aby uzyskać więcej informacji, zobacz SUBDATE() Przykłady w MySQL.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.