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.