Problème :
Vous souhaitez obtenir le mois à partir d'une colonne date/datetime dans une base de données MySQL.
Exemple :
Notre base de données contient une table nommée apartment_rental avec des données dans les colonnes id , address , floor , et start_date .
| identifiant | adresse | étage | date_début |
|---|---|---|---|
| 1 | 700, rue Oak | 2 | 2019-03-20 |
| 2 | 295, rue Principale | 3 | 2019-05-31 |
| 3 | 506 route nationale | 1 | 2019-01-03 |
| 4 | 3949 Route 31 | 1 | 2019-02-01 |
Pour chaque appartement disponible, obtenez l'adresse, l'étage et le mois où il est disponible. Obtenez uniquement le mois à partir de la start_date colonne.
Solution :
Nous utiliserons le MONTH() une fonction. Voici la requête que vous écririez :
SELECT address,
floor,
MONTH(start_date)
AS start_month
FROM apartment_rental;
Voici le résultat de la requête :
| adresse | étage | start_month |
|---|---|---|
| 700, rue Oak | 2 | 3 |
| 295, rue Principale | 3 | 5 |
| 506 route nationale | 1 | 1 |
| 3949 Route 31 | 1 | 2 |
Discussion :
Utilisez le MONTH() fonction pour récupérer un mois à partir d'une colonne date/datetime/timestamp dans MySQL. Cette fonction ne prend qu'un seul argument – soit une expression qui renvoie une valeur date/dateheure/horodatage, soit le nom d'une colonne date/dateheure/horodatage. (Dans notre exemple, nous utilisons le start_date colonne de date type de données).
MONTH() renvoie le mois sous la forme d'un entier compris entre 1 et 12 (1 correspond à janvier et 12 à décembre). Dans notre exemple, l'appartement au 700 Oak Street commencera à louer au mois 3 car sa date de début est '2019-03-20'