La commande MySQL DATE permet d’extraire une date à partir d’une donnée tem­po­relle. Cette fonc­tion­na­lité peut s’avérer par­ti­cu­liè­re­ment utile pour les listes de commandes, d’appels ou d’autres actions.

MySQL DATE : qu’est-ce que c’est ?

De nombreux pa­ra­mètres vous per­met­tent d’obtenir une meilleure vue d’ensemble et de mettre davantage d’ordre dans votre logiciel MySQL. Grâce à eux, vous pouvez mieux trier vos dif­fé­rentes tables et y accéder encore plus ra­pi­de­ment si besoin. À cet effet, le système de gestion de base de données propose plusieurs types de champs dif­fé­rents pour les dates et les heures. En plus de MySQL TIME, MySQL DATETIME et MySQL TIMESTAMP, le système propose la commande MySQL DATE, qui est aussi pratique qu’elle est simple d’uti­li­sa­tion ; elle peut d’ailleurs vous rendre de précieux services si vous tra­vail­lez quo­ti­dien­ne­ment avec lui.

La commande MySQL DATE s’utilise avec les valeurs contenant une date, mais pas d’heure ; elle peut extraire et re­pro­duire la date présente dans une dé­cla­ra­tion. Les entrées s’en­re­gistrent toujours au format « AAAA-MM-JJ », avec des valeurs pouvant aller de « 1000-01-01 » à « 9999-12-31 ».

Syntaxe de la commande MySQL DATE

Si vous êtes en train d’apprendre à tra­vail­ler avec MySQL et que vous con­nais­sez déjà des commandes telles que MySQL DELETE, MySQL REPLACE et MySQL CONCAT, vous savez déjà que ce système fait appel à une syntaxe re­la­ti­ve­ment simple. La commande MySQL DATE ne fait pas exception à la règle. En principe, voici comment se présente sa structure :

DATE (Expression)
bash

Il est important que la date contenue dans l’ex­pres­sion soit valide. Si ce n’est pas le cas, le résultat ne pourra cor­res­pondre qu’à une valeur nulle.

MySQL DATE : exemples d’uti­li­sa­tion

Des exemples pratiques per­ti­nents peuvent vous permettre de mieux com­prendre l’étendue des pos­si­bi­li­tés offertes par la commande MySQL DATE. Nous allons commencer par vous présenter la forme la plus simple, dans laquelle seule la date est affichée. La commande cor­res­pon­dante se présente ainsi :

SELECT DATE ("2022-01-10");
bash

Voici le résultat obtenu en exécutant cette commande :

2022-01-10
bash

Extraire une date à partir d’une donnée tem­po­relle

Une autre solution s’offre également à vous : vous pouvez extraire la date à partir d’une donnée tem­po­relle plus longue en utilisant la commande MySQL DATE. Cette option est illustrée par l’exemple ci-dessous :

SELECT DATE ("2022-01-10 10:17:36");
bash

Elle permet d’ailleurs d’obtenir le même résultat :

2022-01-10
bash

Valeur nulle pour MySQL DATE

Toutefois, en l’absence d’une date valide, il n’est pas possible d’obtenir un résultat. Voici un exemple portant sur ce cas précis :

SELECT DATE ("En date du 10.01.2022");
bash

MySQL DATE : processus de commande et comp­ta­bi­lité

L’exemple suivant permet de mieux com­prendre l’intérêt de la commande MySQL DATE. Ici, une en­tre­prise utilise des tables pour les produits commandés et expédiés. Pour connaître la date de commande exacte d’un produit, il faudrait nor­ma­le­ment examiner toutes ces listes ma­nuel­le­ment, ce qui prendrait du temps. La commande MySQL DATE propose en revanche une solution nettement plus rapide et peut extraire les données de la liste existante. En effet, elle effectue au­to­ma­ti­que­ment une recherche dans la table cor­res­pon­dante, puis renvoie un résultat affichant toutes les données de commande dans l’ordre chro­no­lo­gique. La liste de notre exemple s’intitule « Commandes ».

SELECT DATE (Datecommande) FROM Commandes;
bash

Et voici main­te­nant le résultat pour ce cas :

DATE (Datecommande)
2021-11-27
2021-11-29
2022-01-10
2022-02-04
2022-02-17
bash

Commandes connexes

En plus de MySQL DATE, il existe plusieurs autres commandes connexes avec les­quelles vous pouvez gérer et modifier vos tables. La commande MySQL DATEDIFF indique notamment les jours entre deux dates ou données tem­po­relles. MySQL DATE_ADD, qui ajoute des valeurs tem­po­relles à une date sous forme d’in­ter­valle, MySQL DATE_FORMAT, qui permet de formater une date, et MySQL DATE_SUB, qui permet de sous­traire une valeur tem­po­relle à une date, comptent également parmi les commandes im­por­tantes.

Autres formats de date

En plus de MySQL DATE, le système reconnaît trois autres formats de date :

  • MySQL DATETIME : cette option en­re­gistre la date et l’heure au format « AAAA-MM-JJ HH:MI:SS », avec des valeurs pouvant aller de « 1000-01-01 00:00:00 » à « 9999-12-31 23:59:59 ».
  • MySQL TIMESTAMP : si ce format ressemble à l’option MySQL DATETIME, il tient compte des fuseaux horaires et convertit par con­sé­quent les valeurs en temps universel coordonné (ou UTC). Le résultat répond donc lui aussi au schéma « AAAA-MM-JJ HH:MI:SS », mais les valeurs peuvent aller de « 1970-01-01 00:00:01 UTC » à « 2038-01-09 03:14:17 UTC ». Pour les ap­pli­ca­tions devant prendre en con­si­dé­ra­tion dif­fé­rents fuseaux horaires, n’hésitez donc pas à vous tourner vers MySQL TIMESTAMP. Pour toute donnée tem­po­relle an­té­rieure à 1970 ou pos­té­rieure à 2038, nous vous con­seil­lons d’utiliser MySQL DATETIME.
  • MySQL TIME : cette solution permet d’en­re­gis­trer l’heure, mais pas la date. Le format utilisé cor­res­pond à « HH:MI:SS », avec des valeurs pouvant aller de « -838:59:59 » à « 838:59:59 ». MySQL TIME permet de re­pré­sen­ter des cadres temporels en plus de ces points temporels, une journée cor­res­pon­dant par exemple à « 24:00:00 ».

Ainsi, si MySQL DATE ne vous convient pas, vous pouvez toujours vous tourner vers l’une de ces options.

Aller au menu principal