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'