Problem:
Sie möchten den Monat aus einer date/datetime-Spalte in einer MySQL-Datenbank abrufen.
Beispiel:
Unsere Datenbank hat eine Tabelle namens apartment_rental
mit Daten in den Spalten id
, address
, floor
und start_date
.
id | Adresse | Etage | Startdatum |
---|---|---|---|
1 | 700 Oak Street | 2 | 2019-03-20 |
2 | Hauptstraße 295 | 3 | 2019-05-31 |
3 | Staatsstraße 506 | 1 | 2019-01-03 |
4 | 3949 Route 31 | 1 | 2019-02-01 |
Erhalten Sie für jede verfügbare Wohnung die Adresse, die Etage und den Monat, in dem sie verfügbar ist. Erhalten Sie nur den Monat ab dem start_date
Spalte.
Lösung:
Wir verwenden den MONTH()
Funktion. Hier ist die Abfrage, die Sie schreiben würden:
SELECT address, floor, MONTH(start_date) AS start_month FROM apartment_rental;
Hier ist das Ergebnis der Abfrage:
Adresse | Etage | start_month |
---|---|---|
700 Oak Street | 2 | 3 |
Hauptstraße 295 | 3 | 5 |
Staatsstraße 506 | 1 | 1 |
3949 Route 31 | 1 | 2 |
Diskussion:
Verwenden Sie den MONTH()
Funktion zum Abrufen eines Monats aus einer date/datetime/timestamp-Spalte in MySQL. Diese Funktion akzeptiert nur ein Argument – entweder einen Ausdruck, der einen Datums-/Datumszeit-/Zeitstempelwert zurückgibt, oder den Namen einer Datums-/Datumszeit-/Zeitstempelspalte. (In unserem Beispiel verwenden wir das start_date
Spalte Datum Datentyp).
MONTH()
gibt den Monat als Ganzzahl von 1 bis 12 zurück (1 ist Januar und 12 ist Dezember). In unserem Beispiel die Wohnung in der 700 Oak Street beginnt in Monat 3 mit der Vermietung, da das Startdatum '2019-03-20'
ist