Problém:
Chcete získat rok ze sloupce datum/datum a čas v databázi MySQL.
Příklad:
Naše databáze obsahuje tabulku s názvem conference
s údaji ve sloupcích id
, name
a start_datetime
.
id | jméno | start_datetime |
---|---|---|
1 | Svět sociálních sítí | 20.02.2019 14:15:34 |
2 | Mobilní svět 2017 | 2017-08-31 20:10:14 |
3 | Přehlídka elektroniky | 2018-04-03 10:05:45 |
4 | Tech Asia 2019 | 2019-01-01 12:47:54 |
U každé konference uveďme její název a rok. Potřebujeme získat pouze rok od start_datetime
sloupec.
Řešení:
Použijeme YEAR()
funkce. Zde je dotaz, který byste napsali:
SELECT name, YEAR(start_datetime) AS year_of_conference FROM conference;
Zde je výsledek dotazu:
name | year_of_conference |
---|---|
Svět sociálních sítí | 2019 |
Mobilní svět 2017 | 2017 |
Přehlídka elektroniky | 2018 |
Tech Asia 2019 | 2019 |
Diskuse:
Použijte YEAR()
funkce pro načtení hodnoty roku ze sloupce data/datetime/timestamp v MySQL. Tato funkce přebírá pouze jeden argument – datum nebo datum a čas. Může to být název sloupce data/datetime/timestamp nebo výraz vracející jeden z těchto datových typů. (V našem příkladu je to sloupec start_datetime
datového typu data.)
YEAR()
vrátí rok jako celé číslo od 1000 do 9999. 'Social Media World' datum zahájení konference je '2019-02-20 14:15:34'
, takže YEAR()
vráceno '2019'
pro tento záznam.