sql >> Databáze >  >> RDS >> Mysql

Jak získat rok ze sloupce Datetime v MySQL

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.


  1. Odkazování na alias vybraného agregovaného sloupce v klauzuli have v Postgres

  2. Co to znamená rozdělit databázi Microsoft Access?

  3. Poddotaz pomocí Existuje 1 nebo Existuje *

  4. SQLite JSON_EXTRACT()