MySQL DATE : comment extraire une date dans MySQL ?

La commande MySQL DATE permet d’extraire une date à partir d’une donnée temporelle. Cette fonctionnalité peut s’avérer particulièrement utile pour les listes de commandes, d’appels ou d’autres actions.

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

De nombreux paramètres vous permettent 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 différentes tables et y accéder encore plus rapidement si besoin. À cet effet, le système de gestion de base de données propose plusieurs types de champs diffé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’utilisation ; elle peut d’ailleurs vous rendre de précieux services si vous travaillez quotidiennement avec lui.

La commande MySQL DATE s’utilise avec les valeurs contenant une date, mais pas d’heure ; elle peut extraire et reproduire la date présente dans une déclaration. Les entrées s’enregistrent 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 à travailler avec MySQL et que vous connaissez 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 relativement 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’expression soit valide. Si ce n’est pas le cas, le résultat ne pourra correspondre qu’à une valeur nulle.

MySQL DATE : exemples d’utilisation

Des exemples pratiques pertinents peuvent vous permettre de mieux comprendre l’étendue des possibilité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 correspondante 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 temporelle

Une autre solution s’offre également à vous : vous pouvez extraire la date à partir d’une donnée temporelle 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 comptabilité

L’exemple suivant permet de mieux comprendre l’intérêt de la commande MySQL DATE. Ici, une entreprise 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 normalement examiner toutes ces listes manuellement, 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 automatiquement une recherche dans la table correspondante, puis renvoie un résultat affichant toutes les données de commande dans l’ordre chronologique. La liste de notre exemple s’intitule « Commandes ».

SELECT DATE (Datecommande) FROM Commandes;
bash

Et voici maintenant 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 lesquelles vous pouvez gérer et modifier vos tables. La commande MySQL DATEDIFF indique notamment les jours entre deux dates ou données temporelles. MySQL DATE_ADD, qui ajoute des valeurs temporelles à une date sous forme d’intervalle, MySQL DATE_FORMAT, qui permet de formater une date, et MySQL DATE_SUB, qui permet de soustraire une valeur temporelle à une date, comptent également parmi les commandes importantes.

Autres formats de date

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

  • MySQL DATETIME : cette option enregistre 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 consé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 applications devant prendre en considération différents fuseaux horaires, n’hésitez donc pas à vous tourner vers MySQL TIMESTAMP. Pour toute donnée temporelle antérieure à 1970 ou postérieure à 2038, nous vous conseillons d’utiliser MySQL DATETIME.
  • MySQL TIME : cette solution permet d’enregistrer l’heure, mais pas la date. Le format utilisé correspond à « HH:MI:SS », avec des valeurs pouvant aller de « -838:59:59 » à « 838:59:59 ». MySQL TIME permet de représenter des cadres temporels en plus de ces points temporels, une journée correspondant par exemple à « 24:00:00 ».

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