Problem:
Du vil gerne hente måneden fra en dato/datotid-kolonne i en MySQL-database.
Eksempel:
Vores database har en tabel med navnet apartment_rental med data i kolonnerne id , address , floor og start_date .
| id | adresse | etage | startdato |
|---|---|---|---|
| 1 | 700 Oak Street | 2 | 2019-03-20 |
| 2 | 295 Main Street | 3 | 2019-05-31 |
| 3 | 506 State Road | 1 | 2019-01-03 |
| 4 | 3949 Rute 31 | 1 | 2019-02-01 |
For hver ledig lejlighed skal du få adressen, gulvet og måneden, hvor den er ledig. Få kun måneden fra start_date kolonne.
Løsning:
Vi bruger MONTH() fungere. Her er den forespørgsel, du ville skrive:
SELECT address,
floor,
MONTH(start_date)
AS start_month
FROM apartment_rental;
Her er resultatet af forespørgslen:
| adresse | etage | start_måned |
|---|---|---|
| 700 Oak Street | 2 | 3 |
| 295 Main Street | 3 | 5 |
| 506 State Road | 1 | 1 |
| 3949 Rute 31 | 1 | 2 |
Diskussion:
Brug MONTH() funktion til at hente en måned fra en dato/dato/tidsstempel kolonne i MySQL. Denne funktion tager kun ét argument – enten et udtryk, der returnerer en dato/dato/tidsstempelværdi eller navnet på en dato/dato/tidsstempelkolonne. (I vores eksempel bruger vi start_date kolonne af dato datatype).
MONTH() returnerer måneden som et heltal fra 1 til 12 (1 er januar og 12 er december). I vores eksempel er lejligheden på 700 Oak Street begynder at leje i måned 3, fordi startdatoen er '2019-03-20'