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

So erhalten Sie den Monat aus einem Datum in MySQL

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