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.