Hier zijn drie manieren om de naam van de maand te retourneren vanaf een datum in MariaDB.
De MONTHNAME()
Functie
De MONTHNAME()
functie is speciaal ontworpen voor het retourneren van de naam van de maand van een datum. Om dit te doen, geeft u de datum door aan de functie wanneer u deze aanroept. De naam van de volledige maand wordt geretourneerd.
Voorbeeld:
SELECT MONTHNAME('2021-08-19');
Resultaat:
+-------------------------+ | MONTHNAME('2021-08-19') | +-------------------------+ | August | +-------------------------+
De taal die wordt gebruikt voor de naam van de maand wordt bepaald door de waarde van de lc_time_names
systeem variabele. Zie MONTHNAME()
voor een voorbeeld van hoe dit de uitvoer beïnvloedt.
De DATE_FORMAT()
Functie
De DATE_FORMAT()
functie formatteert een bepaalde datum in een gespecificeerd formaat. U geeft de datum en het formaat op wanneer u de functie aanroept.
U kunt de naam van de volledige maand retourneren door %M
door te geven als de opmaakreeks.
Voorbeeld:
SELECT DATE_FORMAT('2021-08-19', '%M');
Resultaat:
+---------------------------------+ | DATE_FORMAT('2021-08-19', '%M') | +---------------------------------+ | August | +---------------------------------+
Net als bij MONTHNAME()
, wordt de taal die wordt gebruikt voor de naam van de maand bepaald door de waarde van de lc_time_names
systeem variabele. Echter, de DATE_FORMAT()
functie accepteert een optioneel derde argument waarmee u de landinstelling kunt specificeren.
Hier is een voorbeeld van het specificeren van een landinstelling:
SELECT DATE_FORMAT('2021-08-19', '%M', 'ca_ES');
Resultaat:
+------------------------------------------+ | DATE_FORMAT('2021-08-19', '%M', 'ca_ES') | +------------------------------------------+ | agost | +------------------------------------------+
Naam korte maand
Passeren %b
naar de DATE_FORMAT()
functie retourneert de korte naam van de maand.
Voorbeeld:
SELECT DATE_FORMAT('2021-08-19', '%b');
Resultaat:
+---------------------------------+ | DATE_FORMAT('2021-08-19', '%b') | +---------------------------------+ | Aug | +---------------------------------+
Dit kan worden gerepliceerd met de MONTHNAME()
functie met behulp van LEFT()
om de eerste 3 tekens van de maandnaam te pakken.
Voorbeeld:
SELECT LEFT(MONTHNAME('2021-08-19'), 3);
Resultaat:
+----------------------------------+ | LEFT(MONTHNAME('2021-08-19'), 3) | +----------------------------------+ | Aug | +----------------------------------+
Hetzelfde concept kan worden bereikt door het resultaat van MONTHNAME()
. te converteren naar een gegevenstype van drie tekens met een functie als CAST()
.
Hoewel deze aanpak werkt in en_US
, werkt het misschien niet altijd in andere talen. Bijvoorbeeld:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2021-08-19', '%b') AS "Short 1",
LEFT(MONTHNAME('2021-08-19'), 3) AS "Short 2",
MONTHNAME('2021-08-19') AS "Full";
Resultaat:
+----------+-----------+-----------------------+ | Short 1 | Short 2 | Full | +----------+-----------+-----------------------+ | ส.ค. | สิง | สิงหาคม | +----------+-----------+-----------------------+