TO_DATE |
A date |
|---|---|
| Oracle Database SQL | Oracle Version 2 ou supérieure |
Syntaxe
| to_date(chaine) |
| to_date(chaine,format_mask) |
| to_date(chaine,format_mask,nls_language) |
Paramètres
| Nom | Description |
|---|---|
| chaine | Ce paramètre permet d'indiquer la chaîne de caractères à traiter |
| format_mask | Ce paramètre permet d'indiquer le masque de format a utilisé. |
| nls_language | Ce paramètre permet d'indiquer le langage à utiliser. |
Description
Cette fonction permet de convertir une expression quelconque en une date.
Remarques
- Fonction fondamentale pour la conversion : La fonction TO_DATE est essentielle dans Oracle car elle permet de convertir une chaîne de caractères en une valeur de type DATE, ce qui facilite le traitement des données temporelles dans les bases Oracle. Elle permet d'interpréter des chaînes suivant un format spécifique défini par l'utilisateur.
- Gestion flexible des formats : Le paramètre format_mask offre une grande flexibilité pour décrire précisément la structure de la chaîne à convertir. Par exemple, on peut utiliser des formats comme 'DD-MM-YYYY' ou 'YYYY/MM/DD HH24:MI:SS' pour s'adapter à des formats de date très variés.
- Compatibilité avec les paramètres linguistiques : Le paramètre optionnel nls_language permet d'adapter la conversion selon la langue et les paramètres régionaux, ce qui est très utile pour des bases multi-langues ou des applications internationales. Cela influe notamment sur le format des noms de mois, des jours, ou le séparateur de date.
- Conversion stricte des chaînes : Lorsque la chaîne passée ne correspond pas au format spécifié dans format_mask, la fonction TO_DATE génère une erreur, ce qui oblige à être très précis lors de l'utilisation des masques de format pour éviter des erreurs de conversion.
- Conversion par défaut sans format : Si le format_mask n'est pas spécifié, Oracle utilise le format de date par défaut de la session (paramètre NLS_DATE_FORMAT). Cela peut entraîner des erreurs inattendues si la chaîne n'est pas conforme à ce format.
- Interprétation des heures, minutes et secondes : La fonction peut également gérer les parties temporelles des dates si le masque de format inclut des éléments horaires, par exemple HH24, MI, SS, ce qui permet de convertir des horodatages sous forme de chaînes en dates Oracle.
- Utilisation fréquente dans les requêtes SQL : TO_DATE est souvent utilisée dans les clauses WHERE, INSERT ou UPDATE, afin de comparer ou insérer des dates correctement formatées, ce qui est indispensable pour la gestion des données temporelles dans les applications d'entreprise.
- Gestion des années sur deux ou quatre chiffres : Le masque peut inclure des années en deux chiffres (YY) ou quatre chiffres (YYYY), mais il faut faire attention à la gestion des années ambigües, car l'interprétation peut varier selon les paramètres de la base.
- Support des noms abrégés et complets des mois : Avec le paramètre nls_language, TO_DATE peut reconnaître les noms complets ('January') ou abrégés ('Jan') des mois, ce qui augmente la souplesse pour les données textuelles entrantes.
- Attention aux espaces et séparateurs : Le format de chaîne doit correspondre exactement, espaces et séparateurs compris. Une légère différence dans la chaîne d'entrée, comme un espace supplémentaire ou un séparateur différent, peut provoquer une erreur.
- Conversion d'une large variété de formats : TO_DATE peut convertir des dates dans des formats très divers allant des formats numériques purs aux formats textuels complexes incluant des jours, des mois, des années et même des noms de jours.
- Impact sur les performances : Dans les requêtes massives, l'usage intensif de TO_DATE peut ralentir le traitement si elle est appliquée sur des colonnes dans une clause WHERE, car elle empêche souvent l'utilisation des index sur les colonnes de type DATE, il faut donc parfois privilégier d'autres méthodes.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015