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'