Vous pouvez utiliser le MONTH()
fonction dans MySQL pour renvoyer le mois à partir d'une date.
Dans ce contexte, le mois est une valeur comprise entre 1 et 12 (ou 0 pour les dates avec une partie de mois nulle).
Par exemple, si vous indiquez la date du 2018-10-07 , le MONTH()
la fonction renverra 10 .
Syntaxe
La syntaxe ressemble à ceci :
MONTH(date)
Où date
est la valeur de date à partir de laquelle vous souhaitez renvoyer le mois.
Exemple
Voici un exemple pour illustrer.
SELECT MONTH('2020-12-18') AS 'Result';
Résultat :
+--------+ | Result | +--------+ | 12 | +--------+
Si la partie mois a un zéro non significatif, le zéro non significatif est omis du résultat. Exemple :
SELECT MONTH('2020-07-18') AS 'Result';
Résultat :
+--------+ | Result | +--------+ | 7 | +--------+
Un exemple de base de données
Dans cet exemple, j'extrait la partie mois d'une colonne lors de l'exécution d'une requête sur une base de données.
USE sakila; SELECT payment_date AS 'Date/Time', MONTH(payment_date) AS 'Month' FROM payment WHERE payment_id = 1;
Résultat :
+---------------------+-------+ | Date/Time | Month | +---------------------+-------+ | 2005-05-25 11:30:37 | 5 | +---------------------+-------+
Date/heure actuelle
Voici un exemple d'extraction de la partie mois de la date et de l'heure actuelles (qui est renvoyée à l'aide de NOW()
fonction).
SELECT NOW(), MONTH(NOW());
Résultat :
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2018-06-29 14:44:38 | 6 | +---------------------+--------------+
Une autre façon de faire est d'utiliser le CURDATE()
fonction, qui renvoie uniquement la date (mais pas l'heure).
SELECT CURDATE(), MONTH(CURDATE());
Résultat :
+------------+------------------+ | CURDATE() | MONTH(CURDATE()) | +------------+------------------+ | 2018-06-29 | 6 | +------------+------------------+