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'.

Voir aussi :
MONTH()
DAY()
DATE()