Problem:
Chcesz uzyskać rok z kolumny daty/daty w bazie danych MySQL.
Przykład:
Nasza baza danych zawiera tabelę o nazwie conference
z danymi w kolumnach id
, name
i start_datetime
.
id | imię | start_datetime |
---|---|---|
1 | Świat mediów społecznościowych | 2019-02-20 14:15:34 |
2 | Mobilny świat 2017 | 2017-08-31 20:10:14 |
3 | Pokaz elektroniki | 2018-04-03 10:05:45 |
4 | Tech Asia 2019 | 2019-01-01 12:47:54 |
Dla każdej konferencji podajmy jej nazwę i rok. Będziemy potrzebować tylko rok od start_datetime
kolumna.
Rozwiązanie:
Użyjemy YEAR()
funkcjonować. Oto zapytanie, które napiszesz:
SELECT name, YEAR(start_datetime) AS year_of_conference FROM conference;
Oto wynik zapytania:
nazwa | rok_konferencji |
---|---|
Świat mediów społecznościowych | 2019 |
Mobilny świat 2017 | 2017 |
Pokaz elektroniki | 2018 |
Tech Asia 2019 | 2019 |
Dyskusja:
Użyj YEAR()
funkcja do pobrania wartości roku z kolumny daty/daty/godziny/znacznika czasu w MySQL. Ta funkcja przyjmuje tylko jeden argument – datę lub datę i godzinę. Może to być nazwa kolumny daty/daty/godziny/znacznika czasu lub wyrażenie zwracające jeden z tych typów danych. (W naszym przykładzie jest to kolumna start_datetime
typu data.)
YEAR()
zwraca rok jako liczbę całkowitą od 1000 do 9999. „Świat mediów społecznościowych” data rozpoczęcia konferencji to '2019-02-20 14:15:34'
, więc YEAR()
zwrócono '2019'
dla tego rekordu.