MariaDB inclut de nombreuses fonctions pour travailler avec les dates. Certains d'entre eux extraient certaines parties de ces dates et les renvoient sous forme de chaîne ou d'entier.
Vous trouverez ci-dessous 11 fonctions que vous pouvez utiliser pour renvoyer diverses parties de date dans MariaDB.
Les Fonctions
Tout d'abord, voici les fonctions :
DATE_FORMAT()
EXTRACT()
DAYNAME()
- JOURDUMOIS()
DAY()
DAYOFWEEK()
WEEKDAY()
DAYOFYEAR()
MONTH()
MONTHNAME()
YEAR()
Vous trouverez ci-dessous des exemples de chaque fonction.
Le DATE_FORMAT()
Fonction
Le DATE_FORMAT()
La fonction vous permet de formater une date en fonction d'une chaîne de format. La chaîne de format spécifie comment la date doit être formatée. Vous construisez votre propre chaîne de format basée sur un ou plusieurs spécificateurs de format.
Voici un exemple d'utilisation de DATE_FORMAT()
pour retourner le jour, le mois et l'année à partir d'une date :
SELECT DATE_FORMAT('2023-07-25', '%W, %D %M %Y');
Résultat :
+-------------------------------------------+ | DATE_FORMAT('2023-07-25', '%W, %D %M %Y') | +-------------------------------------------+ | Tuesday, 25th July 2023 | +-------------------------------------------+
L'avantage de cette fonction est que vous pouvez renvoyer de nombreuses variantes de la date. Par exemple, vous pouvez renvoyer uniquement les noms abrégés du jour et du mois :
SELECT DATE_FORMAT('2023-07-25', '%a, %D %b %Y');
Résultat :
+-------------------------------------------+ | DATE_FORMAT('2023-07-25', '%a, %D %b %Y') | +-------------------------------------------+ | Tue, 25th Jul 2023 | +-------------------------------------------+
Ou vous pouvez renvoyer les numéros de mois de jour :
SELECT DATE_FORMAT('2023-07-25', '%d/%c/%Y');
Résultat :
+---------------------------------------+ | DATE_FORMAT('2023-07-25', '%d/%c/%Y') | +---------------------------------------+ | 25/7/2023 | +---------------------------------------+
Consultez cette liste complète de spécificateurs de format pour un aperçu complet des spécificateurs de format que vous pouvez utiliser pour construire une chaîne de format.
DATE_FORMAT()
accepte également un argument de paramètres régionaux facultatif que vous pouvez utiliser pour spécifier la langue des noms de jour et de mois. C'est une fonction assez flexible. Voir DATE_FORMAT()
pour plus d'exemples.
Le EXTRACT()
Fonction
Le
La fonction vous permet d'extraire une unité spécifiée de la date. Vous pouvez donc l'utiliser pour extraire le jour, le mois et l'année (ainsi que d'autres unités) de la date.EXTRACT
()
Exemple :
SELECT
EXTRACT(DAY FROM '2023-07-25') AS Day,
EXTRACT(MONTH FROM '2023-07-25') AS Month,
EXTRACT(YEAR FROM '2023-07-25') AS Year;
Résultat :
+------+-------+------+ | Day | Month | Year | +------+-------+------+ | 25 | 7 | 2023 | +------+-------+------+
Fonctions pour renvoyer une unité de date spécifique
MariaDB a également un tas de fonctions plus spécifiques qui renvoient une unité de date spécifique.
Vous trouverez ci-dessous une liste des fonctions qui renvoient le jour, le mois et l'année à partir d'une date.
Le DAYNAME()
Fonction
Il existe de nombreuses fonctions pour renvoyer le jour dans MariaDB (et la plupart des autres SGBD). En effet, MariaDB a besoin de savoir si vous voulez le nom du jour, le numéro du jour de la semaine, le jour du mois, le jour de l'année, etc.
Le DAYNAME()
La fonction renvoie le nom du jour de la semaine.
Exemple :
SELECT DAYNAME('2023-07-25');
Résultat :
+-----------------------+ | DAYNAME('2023-07-25') | +-----------------------+ | Tuesday | +-----------------------+
Le DAYOFMONTH()
Fonction
Le DAYOFMONTH()
La fonction renvoie le numéro du jour du mois.
Exemple :
SELECT DAYOFMONTH('2023-07-25');
Résultat :
+--------------------------+ | DAYOFMONTH('2023-07-25') | +--------------------------+ | 25 | +--------------------------+
Le DAY()
Fonction
Le DAY()
la fonction est en fait un synonyme de DAYOFMONTH()
fonction.
Exemple :
SELECT DAY('2023-07-25');
Résultat :
+-------------------+ | DAY('2023-07-25') | +-------------------+ | 25 | +-------------------+
Comme prévu, le même résultat que DAYOFMONTH()
.
Le DAYOFWEEK()
Fonction
Le DAYOFWEEK()
renvoie l'index du jour de la semaine pour la date, tel que spécifié par la norme ODBC (1
=dimanche, 2
=Lundi, …, 7
=samedi).
Exemple :
SELECT DAYOFWEEK('2023-07-25');
Résultat :
+-------------------------+ | DAYOFWEEK('2023-07-25') | +-------------------------+ | 3 | +-------------------------+
Voir WEEKDAY()
ci-dessous pour différentes indexations.
Le WEEKDAY()
Fonction
Le WEEKDAY()
la fonction est similaire à DAYOFWEEK()
en ce qu' il renvoie l'index de semaine pour la date. La différence est qu'il utilise une numérotation d'index différente (0
=Lundi, 1
=mardi, … 6
=dimanche).
Exemple :
SELECT WEEKDAY('2023-07-25');
Résultat :
+-----------------------+ | WEEKDAY('2023-07-25') | +-----------------------+ | 1 | +-----------------------+
Le DAYOFYEAR()
Fonction
Le DAYOFYEAR()
la fonction renvoie le jour de l'année pour la date, dans la plage 1
à 366
.
Exemple :
SELECT DAYOFYEAR('2023-07-25');
Résultat :
+-------------------------+ | DAYOFYEAR('2023-07-25') | +-------------------------+ | 206 | +-------------------------+
Le MONTH()
Fonction
Le MONTH()
la fonction renvoie le mois dans la plage 1
à 12
de janvier à décembre, ou 0
pour les dates qui ont une partie de mois nulle (comme 0000-00-00
).
Exemple :
SELECT MONTH('2023-07-25');
Résultat :
+---------------------+ | MONTH('2023-07-25') | +---------------------+ | 7 | +---------------------+
Le MONTHNAME()
Fonction
Comme son nom l'indique, le MONTHNAME()
La fonction renvoie le nom du mois. La langue utilisée pour le nom est contrôlée par la valeur de lc_time_names
variable système.
Exemple :
SELECT MONTHNAME('2023-07-25');
Résultat :
+-------------------------+ | MONTHNAME('2023-07-25') | +-------------------------+ | July | +-------------------------+
Le YEAR()
Fonction
Le YEAR()
renvoie la partie année de la date.
Exemple :
SELECT YEAR('2023-07-25');
Résultat :
+--------------------+ | YEAR('2023-07-25') | +--------------------+ | 2023 | +--------------------+