sql >> Database >  >> RDS >> Mysql

2 Functies die de naam van de maand retourneren van een datum in MySQL

Met de volgende twee functies kunnen we de naam van de maand halen uit een datum in MySQL.

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('2030-10-25');

Resultaat:

October

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() Voorbeelden voor een voorbeeld van hoe dit de output beïnvloedt. Zie ook Hoe u de landinstelling voor de huidige verbinding in MySQL instelt voor meer informatie.

De DATE_FORMAT() Functie

De DATE_FORMAT() functie retourneert een bepaalde datum in een opgegeven formaat. Om deze functie te gebruiken, specificeert u de datum en het gewenste formaat wanneer u de functie oproept.

U kunt de naam van de volledige maand retourneren door %M door te geven als de opmaakreeks.

Voorbeeld:

SELECT DATE_FORMAT('2030-12-25', '%M');

Resultaat:

December

De taal die wordt gebruikt voor de naam van de maand wordt bepaald door de waarde van de lc_time_names systeem variabele.

Naam korte maand

Passeren %b naar de DATE_FORMAT() functie retourneert de korte naam van de maand.

Voorbeeld:

SELECT DATE_FORMAT('2030-12-25', '%b');

Resultaat:

December

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('2030-12-25'), 3);

Resultaat:

December

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 in andere talen mogelijk niet altijd zoals verwacht. Bijvoorbeeld:

SET lc_time_names = 'th_TH';
SELECT 
    DATE_FORMAT('2030-12-25', '%b') AS "Short 1",
    LEFT(MONTHNAME('2030-12-25'), 3) AS "Short 2",
    MONTHNAME('2030-12-25') AS "Full";

Resultaat:

+----------+-----------+-----------------------+
| Short 1  | Short 2   | Full                  |
+----------+-----------+-----------------------+
| ธ.ค.     | ธัน        | ธันวาคม                |
+----------+-----------+-----------------------+

  1. Een use-case voor sp_prepare / sp_prepexec

  2. Voorloop- en volgnullen toevoegen in SQL Server

  3. Een varchar-kolom upgraden naar enum-type in postgresql

  4. ODBC-gegevens analyseren in IBM SPSS