Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So erhalten Sie das Jahr aus einer Datetime-Spalte in MySQL

Problem:

Sie möchten das Jahr aus einer date/datetime-Spalte in einer MySQL-Datenbank abrufen.

Beispiel:

Unsere Datenbank hat eine Tabelle namens conference mit Daten in den Spalten id , name und start_datetime .

id Name start_datetime
1 Welt der sozialen Medien 2019-02-20 14:15:34
2 Mobile Welt 2017 2017-08-31 20:10:14
3 Elektronikmesse 2018-04-03 10:05:45
4 Tech Asia 2019 01.01.2019 12:47:54

Lassen Sie uns für jede Konferenz den Namen und das Jahr erhalten. Wir brauchen nur das Jahr ab start_datetime Spalte.

Lösung:

Wir verwenden das YEAR() Funktion. Hier ist die Abfrage, die Sie schreiben würden:

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

Hier ist das Ergebnis der Abfrage:

name year_of_conference
Welt der sozialen Medien 2019
Mobile Welt 2017 2017
Elektronikmesse 2018
Tech Asia 2019 2019

Diskussion:

Verwenden Sie das YEAR() Funktion zum Abrufen des Jahreswerts aus einer date/datetime/timestamp-Spalte in MySQL. Diese Funktion akzeptiert nur ein Argument – ​​ein Datum oder Datum und Uhrzeit. Dies kann der Name einer date/datetime/timestamp-Spalte oder ein Ausdruck sein, der einen dieser Datentypen zurückgibt. (In unserem Beispiel ist es die Spalte start_datetime vom Datumsdatentyp.)

YEAR() gibt das Jahr als Ganzzahl von 1000 bis 9999 zurück. Die 'Social Media World' Das Startdatum der Konferenz ist '2019-02-20 14:15:34' , also YEAR() gab '2019' zurück für diesen Datensatz.