Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Jak uzyskać rok z kolumny daty i godziny w MySQL?

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy istnieje alternatywa ANSI SQL dla słowa kluczowego MYSQL LIMIT?

  2. 1052:Kolumna „id” na liście pól jest niejednoznaczna

  3. Kolejność SQL według liczby

  4. MySQL, Połącz dwie kolumny

  5. MySQL - ORDER BY wartości w IN()