sql >> Databasteknik >  >> RDS >> Mysql

Hur man får året från en Datetime-kolumn i MySQL

Problem:

Du vill hämta året från en kolumn för datum/datum och tid i en MySQL-databas.

Exempel:

Vår databas har en tabell som heter conference med data i kolumnerna id , name och start_datetime .

id namn start_datumtid
1 Social Media World 2019-02-20 14:15:34
2 Mobile World 2017 2017-08-31 20:10:14
3 Elektronikshow 2018-04-03 10:05:45
4 Tech Asia 2019 2019-01-01 12:47:54

För varje konferens, låt oss få dess namn och år. Vi behöver endast året från start_datetime kolumn.

Lösning:

Vi använder YEAR() fungera. Här är frågan du skulle skriva:

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

Här är resultatet av frågan:

namn year_of_conference
Social Media World 2019
Mobile World 2017 2017
Elektronikshow 2018
Tech Asia 2019 2019

Diskussion:

Använd YEAR() funktion för att hämta årsvärdet från en kolumn datum/datum/tidsstämpel i MySQL. Denna funktion tar bara ett argument – ​​ett datum eller datum och tid. Detta kan vara namnet på en kolumn för datum/datum/tidsstämpel eller ett uttryck som returnerar en av dessa datatyper. (I vårt exempel är det kolumnen start_datetime av datumdatatypen.)

YEAR() returnerar året som ett heltal från 1000 till 9999. 'Social Media World' konferensens startdatum är '2019-02-20 14:15:34' , alltså YEAR() returnerade '2019' för detta rekord.


  1. Saker att veta om databasdrivna webbplatser

  2. Fel syntax nära ')' anropar lagrad procedur med GETDATE

  3. Anpassade triggerbaserade uppgraderingar för PostgreSQL

  4. När ingen 'Beställ efter' är angiven, vilken ordning väljer en fråga för din postuppsättning?