Maîtriser les dates et heures : découvrez les fonctions _STRICT

Lorsqu’on manipule des données temporelles, il est souvent crucial de savoir précisément si l’on a affaire à une date, une heure, ou un horodatage complet (date + heure). La fonction ISDATE est bien connue, mais elle peut parfois manquer de précision. C’est là qu’interviennent les fonctions _STRICT !

Le problème avec ISDATE

La fonction ISDATE est utile, mais elle renvoie TRUE pour une valeur dès lors qu’elle peut être interprétée comme une date, une heure ou un horodatage. Par exemple, ISDATE(« 28/04/2025 »), ISDATE(« 09:11:22 ») et ISDATE(« 28/04/2025 10:12:09 ») renverront toutes TRUE. Cela peut être problématique si vous avez besoin de distinguer ces types de données.

La solution : les fonctions _STRICT

Pour pallier ce manque de granularité, des versions « strictes » des fonctions de validation de date et d’heure existent. Elles permettent de vérifier le type de donnée de manière beaucoup plus précise :

  • ISDATE_STRICT(valeur) : Renvoie TRUE uniquement si la valeur est une date valide sans composante horaire. Elle renverra FALSE pour une heure seule ou un horodatage.
  • ISTIME_STRICT(valeur) : Renvoie TRUE uniquement si la valeur est une heure valide sans composante date. Elle renverra FALSE pour une date seule ou un horodatage.
  • ISDATETIME_STRICT(valeur) : Renvoie TRUE uniquement si la valeur est un horodatage valide, c’est-à-dire qu’elle contient à la fois une date et une heure valides. Elle renverra FALSE pour une date seule ou une heure seule.

Tableau comparatif

Voici un tableau récapitulatif basé sur les exemples de l’image pour bien illustrer la différence :

TypeExempleISDATEISDATE_STRICTISTIME_STRICTISDATETIME_STRICT
Date seulement28/04/2025TRUETRUEFALSEFALSE
Heure seulement09:11:22TRUEFALSETRUEFALSE
Horodatage28/04/2025 10:12:09TRUEFALSEFALSETRUE

Pourquoi utiliser les fonctions _STRICT ?

Utiliser ces fonctions vous assure que les données que vous traitez correspondent exactement au format attendu. C’est particulièrement utile pour :

  • La validation de données en entrée.
  • L’application de logiques conditionnelles spécifiques selon qu’il s’agit d’une date, d’une heure ou d’un horodatage.
  • Éviter des erreurs de calcul ou de traitement dues à un type de donnée incorrect.

En bref, les fonctions _STRICT apportent une couche de robustesse supplémentaire à vos traitements de dates et d’heures. N’hésitez pas à les intégrer dans vos formules lorsque la précision est de mise !