MariaDB heeft verschillende functies waarmee u verschillende datum- en tijddelen uit datum/tijd-waarden kunt extraheren. U kunt deze gebruiken om elke datum/tijd-component indien nodig in een eigen kolom te scheiden.
Hieronder staan drie manieren om het jaar, de maand en de dag te extraheren uit een datumwaarde in MariaDB.
Het YEAR()
, MONTH()
, en DAY()
Functies
Het YEAR()
, MONTH()
, en DAY()
functies extraheren het jaar, de maand en de dag uit respectievelijk een datum- of datetime-waarde.
Hier is een voorbeeld van het gebruik van deze functies om elke datumcomponent in zijn eigen kolom te retourneren:
SELECT
YEAR('2025-08-30') AS "Year",
MONTH('2025-08-30') AS "Month",
DAY('2025-08-30') AS "Day";
Resultaat:
+------+-------+------+ | Year | Month | Day | +------+-------+------+ | 2025 | 8 | 30 | +------+-------+------+
De DAY()
functie is eigenlijk een synoniem voor DAYOFMONTH()
, dus beide geven hetzelfde resultaat.
Er is ook een WEEKDAY()
functie, een DAYOFWEEK()
functie, een DAYOFYEAR()
functie, en een DAYNAME()
functie, die elk een andere weergave van de dag retourneren.
Plus er is een MONTHNAME()
functie die de naam van de maand retourneert in plaats van het nummer.
Hier is nog een voorbeeld dat deze functies bevat:
SELECT
YEAR('2025-08-30') AS "YEAR",
MONTH('2025-08-30') AS "MONTH",
MONTHNAME('2025-08-30') AS "MONTHNAME",
DAY('2025-08-30') AS "DAY",
DAYOFMONTH('2025-08-30') AS "DAYOFMONTH",
WEEKDAY('2025-08-30') AS "WEEKDAY",
DAYOFWEEK('2025-08-30') AS "DAYOFWEEK",
DAYOFYEAR('2025-08-30') AS "DAYOFYEAR",
DAYNAME('2025-08-30') AS "DAYNAME";
Resultaat (met verticale uitvoer):
YEAR: 2025 MONTH: 8 MONTHNAME: August DAY: 30 DAYOFMONTH: 30 WEEKDAY: 5 DAYOFWEEK: 7 DAYOFYEAR: 242 DAYNAME: Saturday
U kunt ook functies gebruiken zoals WEEK()
om het weeknummer terug te geven, en QUARTER()
om het kwartaal terug te geven.
Voorbeeld:
SELECT
WEEK('2025-08-30') AS "Week",
QUARTER('2025-08-30') AS "Quarter";
Resultaat:
+------+---------+ | Week | Quarter | +------+---------+ | 34 | 3 | +------+---------+
De WEEK()
functie accepteert een tweede argument waarmee u de modus kunt specificeren. Dit kan het resulterende weeknummer wijzigen, afhankelijk van de werkelijke datum. Zie hoe WEEK()
Werkt in MariaDB voor meer informatie en een voorbeeld.
De EXTRACT()
Functie
De EXTRACT()
Met deze functie kunt u een gespecificeerde eenheid extraheren uit de datum/tijd-waarde. Daarom kunt u het gebruiken om het jaar, de maand en de dag uit de datum te halen (evenals de week en het kwartaal indien nodig).
Voorbeeld:
SELECT
EXTRACT(YEAR FROM '2023-03-12') AS "Year",
EXTRACT(MONTH FROM '2023-03-12') AS "Month",
EXTRACT(DAY FROM '2023-03-12') AS "Day",
EXTRACT(WEEK FROM '2023-03-12') AS "Week",
EXTRACT(QUARTER FROM '2023-03-12') AS "Quarter";
Resultaat:
+------+-------+------+------+---------+ | Year | Month | Day | Week | Quarter | +------+-------+------+------+---------+ | 2023 | 3 | 12 | 11 | 1 | +------+-------+------+------+---------+
De DATE_FORMAT()
Functie
De DATE_FORMAT()
Met deze functie kunt u een datum- of datetime-waarde opmaken op basis van een notatiereeks. De format string geeft aan hoe de datum/tijd moet worden opgemaakt.
We kunnen deze functie daarom gebruiken om het jaar, de maand, de dag en de week van een datum terug te geven.
Voorbeeld:
SELECT
DATE_FORMAT('2035-12-08', '%Y') AS "Year",
DATE_FORMAT('2035-12-08', '%m') AS "Month",
DATE_FORMAT('2035-12-08', '%d') AS "Day",
DATE_FORMAT('2035-12-08', '%U') AS "Week";
Resultaat:
+------+-------+------+------+ | Year | Month | Day | Week | +------+-------+------+------+ | 2035 | 12 | 08 | 48 | +------+-------+------+------+
Er zijn verschillende mogelijke formaatspecificaties voor elk datumdeel. Elk datumgedeelte kan een andere waarde retourneren, afhankelijk van de opgegeven indelingsspecificatie. U kunt bijvoorbeeld de naam van de volledige maand retourneren met %M
in plaats van %m
.
Zie MariaDB Format Strings voor een volledige lijst van format strings/specificaties die kunnen worden gebruikt met DATE_FORMAT()
.