Database.Guide

In MySQL, kunt u de DATE_SUB() functie gebruiken om een gespecificeerde hoeveelheid tijd van een datum af te trekken. U kunt de functie bijvoorbeeld gebruiken om 7 dagen van een bepaalde datum af te trekken. U kunt opgeven of u dagen, weken, maanden, kwartalen, jaren, enz. wilt aftrekken. U kunt ook een tijdswaarde aftrekken, zoals seconden, microseconden, enz.

Deze functie is vergelijkbaar met DATE_ADD(), behalve dat hij van een datum aftrekt in plaats van er bij op te tellen.

Syntax

De syntax gaat als volgt:

DATE_SUB(date,INTERVAL expr unit)

Voorbeeld 1 – Basisgebruik

Hier volgt een voorbeeld van het gebruik.

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

Resultaat:

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

Dit voorbeeld trekt 5 dagen af van de datum geleverd door het eerste argument.

Voorbeeld 2 – Andere Datum Eenheden

U kunt de eenheden opgeven in dagen, weken, maanden, jaren, etc. Hier volgen enkele voorbeelden.

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

Resultaat:

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

Voorbeeld 3 – Tijdseenheden

U kunt ook tijdseenheden aftrekken van een datum/tijd waarde. Hier is een voorbeeld.

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

Resultaat:

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

En u kunt meerdere eenheden tegelijk opgeven. U kunt bijvoorbeeld uren en minuten opgeven. Zoals dit.

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

Resultaat:

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

Verwachte waarden

De volgende tabel toont de geldige eenheidswaarden en hun verwachte formaat.

unitWaarde Verwacht expr Formaat
MICROSECONDE MICROSECONDEN
SECONDE SECONDEN
MINUUT MINUTEN
UUR UREN
DAG DAGEN
WEEK WEKEN
MAAND MAANDEN
KWARTAAL KWARTALEN
JAAR JAREN
SECONDE_MICROSECONDE ‘SECONDEN.MICROSECONDEN’
MINUUT_MICROSECONDE ‘MINUTEN:SECONDEN.MICROSECONDEN’
MINUTE_SECOND ‘MINUTES:SECONDS’
HOUR_MICROSECOND ‘HOURS:MINUTES:SECONDS.MICROSECONDEN’
UUR_SECONDE ‘UREN:MINUTEN:SECONDEN’
UUR_MINUUT ‘UREN:MINUTEN’
DAG_MICROSECONDE ‘DAGEN UREN:MINUTEN:SECONDEN.MICROSECONDEN’
DAG_SECONDE ‘DAGEN UREN:MINUTEN:SECONDEN’
DAG_MINUUT ‘DAGEN UREN:MINUTEN’
DAG_UUR ‘DAGEN UREN’
JAAR_MAAND ‘JAREN-MAANDEN’

U kunt ook de functie SUBDATE() gebruiken om hetzelfde te doen (het is een synoniem voor de functie DATE_SUB() wanneer u dezelfde syntaxis gebruikt).

Daarnaast heeft de syntaxis van SUBDATE() een tweede vorm, die een steno methode is om een bepaald aantal dagen van een datum af te trekken. Zie voor meer informatie SUBDATE() Examples in MySQL.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.