sql >> Database >  >> RDS >> MariaDB

3 manieren om de maandnaam van een datum in MariaDB te krijgen

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                  |
+----------+-----------+-----------------------+
| ส.ค.     | สิง        | สิงหาคม                |
+----------+-----------+-----------------------+


  1. Bekijk informatie met de VIEWS Information Schema View in SQL Server

  2. Getallen opmaken met een komma in SQLite

  3. Zijn geneste transacties toegestaan ​​in MySQL?

  4. Functie met SQL-query heeft geen bestemming voor resultaatgegevens