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.