YEAR
YEAR(date)
Renvoie l’année d’une date sous forme de nombre (1000–9999). Pour NULL ou une date invalide, renvoie NULL.
Paramètres
- date – une valeur DATE ou DATETIME, ou une chaîne avec une date.
Exemples
Les exemples avec les tables customers, products et orders utilisent la base de données d’exemple de la série Bases du SQL.
SELECT YEAR('2026-03-15') AS year_num, YEAR('2026-03-15 23:59:59') AS from_datetime;
+----------+---------------+ | year_num | from_datetime | +----------+---------------+ | 2026 | 2026 | +----------+---------------+
Le chiffre d’affaires par année et par mois :
SELECT YEAR(o.order_date) AS order_year, MONTH(o.order_date) AS order_month, SUM(o.quantity * p.price) AS revenue FROM orders o JOIN products p ON p.id = o.product_id GROUP BY order_year, order_month ORDER BY order_year, order_month;
+------------+-------------+---------+ | order_year | order_month | revenue | +------------+-------------+---------+ | 2026 | 1 | 110.80 | | 2026 | 2 | 19.60 | | 2026 | 3 | 71.60 | +------------+-------------+---------+
Points d’attention
- La condition WHERE YEAR(order_date) = 2026 n’utilise pas l’index de la colonne order_date. Un intervalle est plus rapide : WHERE order_date >= '2026-01-01' AND order_date < '2027-01-01'.