Problema:
Vuoi ottenere l'anno e il mese da una determinata data in un database MySQL.
Esempio:
Il nostro database ha una tabella denominata dates con i dati nelle colonne id e date .
| id | data |
|---|---|
| 1 | 21-04-2008 |
| 2 | 14-12-1987 |
Estraiamo l'year e il month dalla data.
Soluzione 1:
SELECT EXTRACT(YEAR FROM date) AS year, EXTRACT(MONTH FROM date) AS month FROM dates;
Il risultato è:
| anno | |
|---|---|
| 2008 | 4 |
| 1987 | 12 |
Discussione:
Per ottenere le colonne dell'anno e del mese, utilizza EXTRACT(part FROM date) funzione. In questa soluzione, l'argomento della parte viene sostituito da YEAR e MONTH per ottenere l'year e il month separatamente, ciascuno nella propria colonna.
Puoi saperne di più su EXTRACT() nella documentazione ufficiale di MySQL.
Soluzione 2:
SELECT EXTRACT(YEAR_MONTH FROM date) AS year_and_month FROM dates;
Il risultato è:
| anno_e_mese |
|---|
| 200804 |
| 198712 |
Discussione:
Questa soluzione funziona esattamente come la precedente, ma YEAR_MONTH viene utilizzato per riunire l'anno e il mese in una colonna invece di ottenerli separatamente. Si noti che i valori dell'anno e del mese non sono separati l'uno dall'altro.
Soluzione 3:
SELECT YEAR(date) AS year, MONTH(date) AS month FROM dates;
Il risultato è:
| anno | |
|---|---|
| 2008 | 4 |
| 1987 | 12 |
Discussione:
Questa volta, il YEAR() e il MONTH() le funzioni vengono utilizzate per creare due colonne. YEAR() restituisce l'anno e MONTH() restituisce il mese come numero.
Soluzione 4:
SELECT YEAR(date) AS year, MONTHNAME(date) AS month FROM dates;
Il risultato è:
| anno | |
|---|---|
| 2008 | Aprile |
| 1987 | Dicembre |
Discussione:
Per ottenere il nome del mese, usa MONTHNAME() funzione. Il risultato mostra il nome del mese invece del numero del mese.
Soluzione 5:
SELECT DATE_FORMAT(date, '%Y-%m') AS year_and_month FROM dates;
Il risultato è:
| anno_e_mese |
|---|
| 2008-04 |
| 1987-12 |
Discussione:
Usa il DATE_FORMAT() funzione per visualizzare la date valori in un formato specifico. Prende la date come primo argomento e una stringa che descrive il formato della data desiderato come secondo argomento. Nel nostro caso, la stringa '%Y-%m ', %Y restituisce l'anno, ' - ' viene utilizzato come separatore e %m restituisce il mese in forma numerica (può essere sostituito da %M per ottenere il nome del mese).
Puoi saperne di più su DATE_FORMAT() nella documentazione ufficiale di MySQL.