In MariaDB, MONTHNAME()
is een ingebouwde datum- en tijdfunctie die de naam van de maandnaam voor een bepaalde datum retourneert.
Het accepteert één argument, namelijk de datum waarvan u de naam van de maand wilt extraheren.
Syntaxis
De syntaxis gaat als volgt:
MONTHNAME(date)
Waar date
is de datum waar de naam van de maand vandaan komt.
Voorbeeld
Hier is een voorbeeld:
SELECT MONTHNAME('2041-11-14');
Resultaat:
+-------------------------+ | MONTHNAME('2041-11-14') | +-------------------------+ | November | +-------------------------+
Taal
De taal die wordt gebruikt voor de naam van de maand wordt bepaald door de waarde van de lc_time_names
systeem variabele.
Hier is een voorbeeld dat laat zien hoe dit het resultaat beïnvloedt:
SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14');
Resultaat:
+-------------------------+ | MONTHNAME('2041-11-14') | +-------------------------+ | November | +-------------------------+
En terugschakelen naar en_US
, wat de standaard is:
SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14');
Resultaat:
+-------------------------+ | MONTHNAME('2041-11-14') | +-------------------------+ | November | +-------------------------+
Hier is een lijst met landinstellingen die door MariaDB worden ondersteund, en hier leest u hoe u uw eigen lijst met beschikbare landinstellingen kunt retourneren.
En hier is een bericht waarin wordt uitgelegd hoe u de waarde van uw lc_time_names
kunt controleren systeemvariabele.
Datum/tijd-waarden
Het werkt ook met datetime-waarden:
SELECT MONTHNAME('2041-01-15 10:30:45');
Resultaat:
+----------------------------------+ | MONTHNAME('2041-01-15 10:30:45') | +----------------------------------+ | January | +----------------------------------+
Nul maanden
Een maand nul in de datum retourneert null
:
SELECT MONTHNAME('2030-00-00');
Resultaat:
+-------------------------+ | MONTHNAME('2030-00-00') | +-------------------------+ | NULL | +-------------------------+
Numerieke datums
Het is ook mogelijk om datums als een getal door te geven, zolang het maar logisch is als een datum.
Voorbeeld
SELECT MONTHNAME(20201208);
Resultaat:
+---------------------+ | MONTHNAME(20201208) | +---------------------+ | December | +---------------------+
Jaartallen van twee cijfers zijn prima:
SELECT MONTHNAME(201208);
Resultaat:
+-------------------+ | MONTHNAME(201208) | +-------------------+ | December | +-------------------+
Maar het moet logisch zijn als een date. Dit gebeurt er als ik het daggedeelte verhoog naar een ongeldige dag:
SELECT MONTHNAME(201299);
Resultaat:
+-------------------+ | MONTHNAME(201299) | +-------------------+ | NULL | +-------------------+
Andere scheidingstekens
U kunt andere scheidingstekens voor de datum gebruiken. MariaDB is behoorlijk vergevingsgezind als het gaat om scheidingstekens op datums. Hier zijn enkele geldige voorbeelden:
SELECT
MONTHNAME('2027/08/19'),
MONTHNAME('2027,08,19'),
MONTHNAME('2027:08:19'),
MONTHNAME('2027;08!19');
Resultaat (met verticale uitvoer):
MONTHNAME('2027/08/19'): August MONTHNAME('2027,08,19'): August MONTHNAME('2027:08:19'): August MONTHNAME('2027;08!19'): August
Huidige datum
We kunnen NOW()
doorgeven als het datumargument om de huidige datum te gebruiken:
SELECT
NOW(),
MONTHNAME(NOW());
Resultaat:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2021-05-14 10:11:16 | May | +---------------------+------------------+
Ongeldige argumenten
Wanneer een ongeldig argument wordt doorgegeven, MONTHNAME()
retourneert null
:
SELECT MONTHNAME('Wrong!');
Resultaat:
+---------------------+ | MONTHNAME('Wrong!') | +---------------------+ | NULL | +---------------------+
Ontbrekend argument
Bellen MONTHNAME()
met het verkeerde aantal argumenten, of zonder het doorgeven van argumenten, resulteert in een fout:
SELECT MONTHNAME();
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MONTHNAME'
En nog een voorbeeld:
SELECT MONTHNAME('2030-01-25', '2045-05-08');
Resultaat:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MONTHNAME'