MariaDB bevat veel functies voor het werken met datums. Sommige van deze extraheren bepaalde delen van zulke datums en geven ze terug als een string of integer.
Hieronder staan 11 functies die u kunt gebruiken om verschillende datumdelen in MariaDB te retourneren.
De Functies
Ten eerste zijn hier de functies:
DATE_FORMAT()
EXTRACT()
DAYNAME()
- DAYOFMONTH()
DAY()
DAYOFWEEK()
WEEKDAY()
DAYOFYEAR()
MONTH()
MONTHNAME()
YEAR()
Hieronder staan voorbeelden van elke functie.
De DATE_FORMAT()
Functie
De DATE_FORMAT()
Met deze functie kunt u een datum opmaken op basis van een opmaakreeks. De format string geeft aan hoe de datum moet worden opgemaakt. U construeert uw eigen opmaakreeks op basis van een of meer opmaakspecificaties.
Hier is een voorbeeld van het gebruik van DATE_FORMAT()
om de dag, de maand en het jaar van een datum te retourneren:
SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');
Resultaat:
+-------------------------------------------+ | DATE_FORMAT('2023-07-25', '%W, %D %M %Y') | +-------------------------------------------+ | Tuesday, 25th July 2023 | +-------------------------------------------+
Het goede aan deze functie is dat je veel variaties van de datum kunt retourneren. U kunt bijvoorbeeld alleen de korte dag- en maandnamen retourneren:
SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');
Resultaat:
+-------------------------------------------+ | DATE_FORMAT('2023-07-25', '%a, %D %b %Y') | +-------------------------------------------+ | Tue, 25th Jul 2023 | +-------------------------------------------+
Of u kunt de dag-maandnummers retourneren:
SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');
Resultaat:
+---------------------------------------+ | DATE_FORMAT('2023-07-25', '%d/%c/%Y') | +---------------------------------------+ | 25/7/2023 | +---------------------------------------+
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. Het is een vrij flexibele functie. Zie DATE_FORMAT()
voor meer voorbeelden.
De EXTRACT()
Functie
De
functie stelt u in staat om een gespecificeerde eenheid uit de datum te halen. U kunt het dus gebruiken om de dag, de maand en het jaar (evenals andere eenheden) uit de datum te extraheren.EXTRACT
()
Voorbeeld:
SELECT
EXTRACT(DAY FROM '2023-07-25') AS Day,
EXTRACT(MONTH FROM '2023-07-25') AS Month,
EXTRACT(YEAR FROM '2023-07-25') AS Year;
Resultaat:
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 25 | 7 | 2023 | +------+-------+------+
Functies voor het retourneren van een specifieke datumeenheid
MariaDB heeft ook een aantal 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
Er zijn nogal wat functies om de dag terug te brengen in MariaDB (en de meeste andere DBMS'en). Dit komt omdat MariaDB moet weten of je de naam van de dag, 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.
Voorbeeld:
SELECT DAYNAME('2023-07-25');
Resultaat:
+-----------------------+ | DAYNAME('2023-07-25') | +-----------------------+ | Tuesday | +-----------------------+
De DAYOFMONTH()
Functie
De DAYOFMONTH()
functie retourneert de dag van het maandnummer.
Voorbeeld:
SELECT DAYOFMONTH('2023-07-25');
Resultaat:
+--------------------------+ | DAYOFMONTH('2023-07-25') | +--------------------------+ | 25 | +--------------------------+
De DAY()
Functie
De DAY()
functie is eigenlijk een synoniem voor de DAYOFMONTH()
functie.
Voorbeeld:
SELECT DAY('2023-07-25');
Resultaat:
+-------------------+ | DAY('2023-07-25') | +-------------------+ | 25 | +-------------------+
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('2023-07-25');
Resultaat:
+-------------------------+ | DAYOFWEEK('2023-07-25') | +-------------------------+ | 3 | +-------------------------+
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('2023-07-25');
Resultaat:
+-----------------------+ | WEEKDAY('2023-07-25') | +-----------------------+ | 1 | +-----------------------+
De DAYOFYEAR()
Functie
De DAYOFYEAR()
functie retourneert de dag van het jaar voor de datum, in het bereik 1
tot 366
.
Voorbeeld:
SELECT DAYOFYEAR('2023-07-25');
Resultaat:
+-------------------------+ | DAYOFYEAR('2023-07-25') | +-------------------------+ | 206 | +-------------------------+
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('2023-07-25');
Resultaat:
+---------------------+ | MONTH('2023-07-25') | +---------------------+ | 7 | +---------------------+
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('2023-07-25');
Resultaat:
+-------------------------+ | MONTHNAME('2023-07-25') | +-------------------------+ | July | +-------------------------+
Het YEAR()
Functie
Het YEAR()
functie retourneert het jaargedeelte van de datum.
Voorbeeld:
SELECT YEAR('2023-07-25');
Resultaat:
+--------------------+ | YEAR('2023-07-25') | +--------------------+ | 2023 | +--------------------+