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

Come ottenere l'anno da una colonna DateTime in MySQL

Problema:

Vorresti ottenere l'anno da una colonna data/ora in un database MySQL.

Esempio:

Il nostro database ha una tabella denominata conference con i dati nelle colonne id , name e start_datetime .

id data_inizio
1 Mondo dei social media 2019-02-20 14:15:34
2 Mondo Mobile 2017 31-08-2017 20:10:14
3 Esposizione di elettronica 2018-04-03 10:05:45
4 Tecnologia Asia 2019 01-01-2019 12:47:54

Per ogni conferenza, prendiamo il nome e l'anno. Dovremo ottenere solo l'anno da start_datetime colonna.

Soluzione:

Useremo il YEAR() funzione. Ecco la domanda che scriveresti:

SELECT name,
       YEAR(start_datetime) 
         AS  year_of_conference
FROM conference;

Ecco il risultato della query:

nome anno_della_conferenza
Mondo dei social media 2019
Mondo Mobile 2017 2017
Esposizione di elettronica 2018
Tecnologia Asia 2019 2019

Discussione:

Usa YEAR() funzione per recuperare il valore dell'anno da una colonna data/data/ora/data/ora in MySQL. Questa funzione accetta solo un argomento:una data o una data e un'ora. Può essere il nome di una colonna data/data/ora/indicatore orario o un'espressione che restituisce uno di questi tipi di dati. (Nel nostro esempio, è la colonna start_datetime del tipo di dati data.)

YEAR() restituisce l'anno come numero intero compreso tra 1000 e 9999. Il 'Social Media World' la data di inizio della conferenza è '2019-02-20 14:15:34' , quindi YEAR() restituito '2019' per questo record.