MySQL heeft een heleboel verschillende functies waarmee we verschillende datumdelen - zoals de dag, maand en jaar - uit een datum kunnen halen.
De DATE_FORMAT()
Functie
De DATE_FORMAT()
functie is geweldig als u de datumdelen allemaal in één veld wilt retourneren.
Voorbeeld:
SELECT DATE_FORMAT('2035-12-19', '%W, %D %M %Y');
Resultaat:
Wednesday, 19th December 2035
Je kunt ook alleen de korte dag- en maandnamen retourneren als dat het gewenste resultaat is:
SELECT DATE_FORMAT('2035-12-19', '%a, %D %b %Y');
Resultaat:
Wed, 19th Dec 2035
Of u kunt de dag-maandnummers retourneren:
SELECT DATE_FORMAT('2035-12-19', '%d/%c/%Y');
Resultaat:
19/12/2035
U kunt desgewenst ook elk datumgedeelte in zijn eigen veld retourneren:
SELECT
DATE_FORMAT('2035-12-19', '%d') AS Day,
DATE_FORMAT('2035-12-19', '%c') AS Month,
DATE_FORMAT('2035-12-19', '%Y') AS Year;
Resultaat:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Bekijk deze volledige lijst met opmaakspecificaties voor een volledig overzicht van de opmaakspecificaties die u kunt gebruiken om een opmaakreeks te construeren.
DATE_FORMAT()
accepteert ook een optioneel landinstelling-argument dat u kunt gebruiken om de taal van de dag- en maandnamen op te geven. Zie MySQL DATE_FORMAT()
Voorbeelden voor meer.
De EXTRACT()
Functie
De EXTRACT()
functie stelt u in staat om een gespecificeerde eenheid uit de datum te halen. Daarom kunt u het gebruiken om de dag, de maand en het jaar (evenals andere eenheden) uit de datum te extraheren.
Voorbeeld:
SELECT
EXTRACT(DAY FROM '2035-12-19') AS Day,
EXTRACT(MONTH FROM '2035-12-19') AS Month,
EXTRACT(YEAR FROM '2035-12-19') AS Year;
Resultaat:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 19 | 12 | 2035 | +------+-------+------+
Functies voor het retourneren van een specifieke datumeenheid
MySQL heeft ook enkele meer specifieke functies die een specifieke datumeenheid retourneren.
Hieronder vindt u een lijst met functies die de dag, de maand en het jaar vanaf een datum retourneren.
De DAYNAME()
Functie
MySQL heeft meer dan één functie om de dag terug te geven. Dit komt omdat er meer dan één manier is om de dag weer te geven. MySQL moet weten of je de dagnaam, het dag van het weeknummer, de dag van de maand, de dag van het jaar, enz. wilt.
De DAYNAME()
functie retourneert de naam van de weekdag:
SELECT DAYNAME('2035-12-19');
Resultaat:
Wednesday
De DAYOFMONTH()
Functie
De DAYOFMONTH()
functie retourneert de dag van het maandnummer.
Voorbeeld:
SELECT DAYOFMONTH('2035-12-19');
Resultaat:
19
De DAY()
Functie
De DAY()
functie is eigenlijk een synoniem voor de DAYOFMONTH()
functie.
Voorbeeld:
SELECT DAY('2035-12-19');
Resultaat:
19
Zoals verwacht, hetzelfde resultaat als DAYOFMONTH()
.
De DAYOFWEEK()
Functie
De DAYOFWEEK()
functie retourneert de dag van de week index voor de datum, zoals gespecificeerd door de ODBC-standaard (1
=zondag, 2
=maandag, ..., 7
=zaterdag).
Voorbeeld:
SELECT DAYOFWEEK('2035-12-19');
Resultaat:
4
Zie WEEKDAY()
hieronder voor verschillende indexering.
De WEEKDAY()
Functie
De WEEKDAY()
functie is vergelijkbaar met DAYOFWEEK()
in die zin dat het de weekindex voor de datum retourneert. Het verschil is dat het een andere indexnummering gebruikt (0
=maandag, 1
=dinsdag, ... 6
=zondag).
Voorbeeld:
SELECT WEEKDAY('2035-12-19');
Resultaat:
2
De DAYOFYEAR()
Functie
De DAYOFYEAR()
functie retourneert de dag van het jaar voor de datum, in het bereik 1
tot 366
.
Voorbeeld:
SELECT DAYOFYEAR('2035-12-19');
Resultaat:
353
De MONTH()
Functie
De MONTH()
functie retourneert de maand in het bereik 1
tot 12
voor januari tot december, of 0
voor datums met een maanddeel van nul (zoals 0000-00-00
).
Voorbeeld:
SELECT MONTH('2035-12-19');
Resultaat:
12
De MONTHNAME()
Functie
Zoals de naam al doet vermoeden, is de MONTHNAME()
functie retourneert de naam van de maand. De taal die voor de naam wordt gebruikt, wordt bepaald door de waarde van de lc_time_names
systeemvariabele.
Voorbeeld:
SELECT MONTHNAME('2035-12-19');
Resultaat:
December
Het YEAR()
Functie
Het YEAR()
functie retourneert het jaargedeelte van de datum.
Voorbeeld:
SELECT YEAR('2035-12-19');
Resultaat:
2035