TO_YMINTERVAL |
A intervalle d'année |
|---|---|
| Oracle Database SQL | Oracle 9i Release 2 (version 9.2) ou supérieure |
Syntaxe
| to_yminterval(character) |
Paramètres
| Nom | Description |
|---|---|
| character | Ce paramètre permet d'indiquer la valeur à convertir en «INTERVAL YEAR TO MONTH». |
Description
Cette fonction permet de convertir une expression quelconque en intervalle de temps d'année et mois spécifié.
Remarques
- La fonction TO_YMINTERVAL est conçue pour convertir une chaîne de caractères en un type d'intervalle Oracle spécifique, appelé «INTERVAL YEAR TO MONTH». Ce type d'intervalle représente une durée exprimée en années et mois, ce qui est utile pour manipuler des durées calendaires.
- Le paramètre character doit être une chaîne de caractères qui respecte un format précis, typiquement sous la forme 'YY-MM' ou 'Y-M', représentant le nombre d'années et de mois à convertir. Une saisie incorrecte ou mal formatée entraînera une erreur de conversion.
- Cette fonction est souvent utilisée dans les contextes où l'on doit stocker ou manipuler des durées précises entre deux dates, par exemple, la durée d'un contrat exprimée en années et mois, ou la période écoulée entre deux événements.
- Le type INTERVAL YEAR TO MONTH est très pratique pour effectuer des calculs de date plus humains et compréhensibles que des calculs en jours ou secondes, car il prend en compte la composante années et mois, ce qui est cohérent avec le calendrier civil.
- TO_YMINTERVAL facilite la conversion de chaînes de caractères entrées par l'utilisateur ou extraites de sources textuelles en un format intervalle reconnu par Oracle, ce qui permet ensuite de les utiliser dans des opérations arithmétiques ou des comparaisons sur des dates.
- Cette fonction s'intègre naturellement dans des requêtes SQL pour effectuer des opérations comme additionner ou soustraire des intervalles à des dates, permettant ainsi de calculer facilement des échéances ou des périodes futures ou passées.
- Par exemple, on peut écrire SELECT SYSDATE + TO_YMINTERVAL('2-6') FROM dual pour obtenir la date qui sera dans 2 ans et 6 mois à partir d'aujourd'hui, ce qui montre la puissance combinée du type intervalle et des fonctions Oracle.
- La conversion avec TO_YMINTERVAL est également utile dans les procédures stockées ou fonctions PL/SQL qui manipulent des données temporelles complexes, permettant de garantir que les intervalles sont toujours dans un format standardisé.
- Cette fonction est uniquement applicable aux intervalles exprimés en années et mois. Pour des intervalles exprimés en jours, heures, minutes, secondes, il faut utiliser la fonction TO_DSINTERVAL qui traite les intervalles «DAY TO SECOND».
- Du fait de son introduction dans Oracle 9i Release 2, TO_YMINTERVAL n'est pas disponible dans les versions antérieures, ce qui nécessite parfois des contournements ou conversions manuelles dans des environnements plus anciens.
- TO_YMINTERVAL améliore la lisibilité des scripts SQL et des programmes PL/SQL, car elle permet de travailler avec des valeurs de durée exprimées dans un format intuitif, plutôt que de coder des calculs complexes en jours ou secondes.
- Enfin, cette fonction est compatible avec d'autres fonctions Oracle liées aux dates et aux intervalles, facilitant ainsi les traitements complexes sur des données temporelles dans des applications de gestion, reporting ou analyse où la manipulation précise des durées est cruciale.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015