Mysql
 sql >> Database >  >> RDS >> Mysql

2 Funzioni che restituiscono il nome del mese da una data in MySQL

Le seguenti due funzioni ci consentono di ottenere il nome del mese da una data in MySQL.

Il MONTHNAME() Funzione

Il MONTHNAME() la funzione è progettata specificamente per restituire il nome del mese da una data. Per fare ciò, passa la data alla funzione quando la chiami. Viene restituito il nome completo del mese.

Esempio:

SELECT MONTHNAME('2030-10-25');

Risultato:

October

La lingua utilizzata per il nome del mese è controllata dal valore di lc_time_names variabile di sistema. Vedi MONTHNAME() Esempi per un esempio di come ciò influisca sull'output. Per ulteriori informazioni, consulta anche Come impostare le impostazioni internazionali per la connessione corrente in MySQL.

Il DATE_FORMAT() Funzione

Il DATE_FORMAT() la funzione restituisce una data data in un formato specificato. Per utilizzare questa funzione, specificare la data e il formato desiderato quando si chiama la funzione.

Puoi restituire il nome completo del mese passando %M come stringa di formato.

Esempio:

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

Risultato:

December

La lingua utilizzata per il nome del mese è controllata dal valore di lc_time_names variabile di sistema.

Nome breve del mese

Passaggio di %b al DATE_FORMAT() la funzione restituisce il nome breve del mese.

Esempio:

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

Risultato:

December

Questo potrebbe essere replicato con MONTHNAME() funzione utilizzando LEFT() per prendere i primi 3 caratteri dal nome del mese.

Esempio:

SELECT LEFT(MONTHNAME('2030-12-25'), 3);

Risultato:

December

Lo stesso concetto può essere ottenuto convertendo il risultato di MONTHNAME() a un tipo di dati di tre caratteri con una funzione come CAST() .

Tuttavia, mentre questo approccio funziona in en_US , potrebbe non funzionare sempre come previsto in altre lingue. Ad esempio:

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";

Risultato:

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