sql >> Database >  >> RDS >> Mysql

Hoe het jaar uit een Datetime-kolom in MySQL te halen

Probleem:

U wilt het jaar uit een datum/datum/tijd-kolom in een MySQL-database halen.

Voorbeeld:

Onze database heeft een tabel met de naam conference met gegevens in de kolommen id , name , en start_datetime .

id naam start_datetime
1 Social Media Wereld 2019-02-20 14:15:34
2 Mobiele Wereld 2017 31-08-2017 20:10:14
3 Elektronicashow 2018-04-03 10:05:45
4 Tech Azië 2019 2019-01-01 12:47:54

Laten we voor elke conferentie de naam en het jaar krijgen. We hebben alleen . nodig het jaar vanaf de start_datetime kolom.

Oplossing:

We gebruiken de YEAR() functie. Dit is de vraag die je zou schrijven:

SELECT name,
       YEAR(start_datetime) 
         AS  year_of_conference
FROM conference;

Dit is het resultaat van de zoekopdracht:

naam year_of_conference
Social Media Wereld 2019
Mobiele Wereld 2017 2017
Elektronicashow 2018
Tech Azië 2019 2019

Discussie:

Gebruik de YEAR() functie om de jaarwaarde op te halen uit een datum/datum/tijdstempelkolom in MySQL. Voor deze functie is slechts één argument nodig:een datum of datum en tijd. Dit kan de naam zijn van een datum/datum/tijdstempel-kolom of een expressie die een van die gegevenstypen retourneert. (In ons voorbeeld is dit de kolom start_datetime van het datumgegevenstype.)

YEAR() geeft het jaar terug als een geheel getal van 1000 tot 9999. De 'Social Media World' de startdatum van de conferentie is '2019-02-20 14:15:34' , dus YEAR() geretourneerde '2019' voor dit record.


  1. Hoe zie ik alle externe sleutels van een tabel of kolom?

  2. Voorbeelden van het converteren van 'date' naar 'datetimeoffset' in SQL Server (T-SQL)

  3. 2 manieren om tekenreeksen en getallen samen te voegen in MariaDB

  4. MAX() Functie in PostgreSQL