sql >> Database >  >> RDS >> MariaDB

Hoe MONTHNAME() werkt in MariaDB

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'

  1. Hoe Galera Cluster te automatiseren met behulp van de ClusterControl CLI

  2. Hoe dynamische Postgres voorbereide statements te maken in PHP

  3. SQL Server - gebrek aan NATURAL JOIN / x JOIN y USING(field)

  4. AOL/J Setup Testsuite