Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment obtenir l'année et le mois à partir d'une date dans MySQL

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.