Problème :
Vous souhaitez obtenir l'année et le mois à partir d'une date donnée dans une base de données MySQL.
Exemple :
Notre base de données contient une table nommée dates
avec des données dans les colonnes id
et date
.
identifiant | date |
---|---|
1 | 2008-04-21 |
2 | 1987-12-14 |
Extrayons l'year
et le month
à partir de la date.
Solution 1 :
SELECT EXTRACT(YEAR FROM date) AS year, EXTRACT(MONTH FROM date) AS month FROM dates;
Le résultat est :
année | mois |
---|---|
2008 | 4 |
1987 | 12 |
Discussion :
Pour obtenir les colonnes année et mois, utilisez le EXTRACT(part FROM date)
une fonction. Dans cette solution, l'argument part est remplacé par YEAR
et MONTH
pour obtenir l'year
et le month
séparément, chacun dans sa propre colonne.
Vous pouvez en savoir plus sur EXTRACT()
dans la documentation officielle de MySQL.
Solution 2 :
SELECT EXTRACT(YEAR_MONTH FROM date) AS year_and_month FROM dates;
Le résultat est :
année_et_mois |
---|
200804 |
198712 |
Discussion :
Cette solution fonctionne exactement comme la précédente, mais YEAR_MONTH
est utilisé pour obtenir l'année et le mois ensemble dans une colonne au lieu de les obtenir séparément. Notez que les valeurs de l'année et du mois ne sont pas séparées l'une de l'autre.
Solution 3 :
SELECT YEAR(date) AS year, MONTH(date) AS month FROM dates;
Le résultat est :
année | mois |
---|---|
2008 | 4 |
1987 | 12 |
Discussion :
Cette fois, le YEAR()
et le MONTH()
Les fonctions sont utilisées pour créer deux colonnes. YEAR()
renvoie l'année et MONTH()
renvoie le mois sous forme de nombre.
Solution 4 :
SELECT YEAR(date) AS year, MONTHNAME(date) AS month FROM dates;
Le résultat est :
année | mois |
---|---|
2008 | Avril |
1987 | Décembre |
Discussion :
Pour obtenir le nom du mois, utilisez le MONTHNAME()
une fonction. Le résultat affiche le nom du mois au lieu du numéro du mois.
Solution 5 :
SELECT DATE_FORMAT(date, '%Y-%m') AS year_and_month FROM dates;
Le résultat est :
année_et_mois |
---|
2008-04 |
1987-12 |
Discussion :
Utilisez le DATE_FORMAT()
fonction pour afficher la date
valeurs dans un format spécifique. Il prend la date
comme premier argument et une chaîne décrivant le format de date souhaité comme deuxième argument. Dans notre cas, la chaîne '%Y-%m
', %Y
renvoie l'année, ‘ -
’ est utilisé comme séparateur, et %m
renvoie le mois numériquement (il peut être remplacé par %M
pour obtenir le nom du mois).
Vous pouvez en savoir plus sur DATE_FORMAT()
dans la documentation officielle de MySQL.