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.