LN |
Logarithme naturel |
|---|---|
| Oracle Database SQL | Oracle version 6 ou supérieure |
Syntaxe
| ln(Nombre) |
Paramètres
| Nom | Description |
|---|---|
| Nombre | Ce paramètre permet d'indiquer l'expression contenant le nombre à traiter |
Description
Cette fonction retourne le logarithme naturel (base e).
Algorithme
|
MODULE SQRT(X) SI X = 0.0 ALORS RETOURNE 0.0 SINON M ← 1.0 XN ← X BOUCLE FAIRE TANT QUE XN >= 2.0 XN ← 0.25 x XN M ← 2.0 x M FIN BOUCLE FAIRE TANT QUE BOUCLE FAIRE TANT QUE XN < 0.5 XN ← 4.0 x XN M ← 0.5 x M FIN BOUCLE FAIRE TANT QUE A ← XN B ← 1.0 - XN BOUCLE REPETER A ← A x (1.0 + 0.5 x B) B ← 0.25 x (3.0 + B) x B x B FIN BOUCLE JUSQU'A B ← 1.0E - 15 RETOURNE A x M FIN SI MODULE LN(x) negatif ← faux fois ← 1 ajout ← 0 SI x <= 0.0 ALORS RETOURNE 0 FIN SI SI x < 1.0 ALORS negatif ← vrai x ← 1.0 / x FIN SI BOUCLE FAIRE TANT QUE x >= 10.0 x ← x / 10.0 ajout ← ajout + 2.302585092994046 FIN BOUCLE FAIRE TANT QUE BOUCLE FAIRE TANT QUE x >= 1.1 x ← SQRT(x) fois ← fois x 2 FIN BOUCLE FAIRE TANT QUE x ← x - 1 savx ← x i ← 2 xp ← x x x quotient ← (xp / i) dl ← x - quotient BOUCLE FAIRE TANT QUE 1.0E-15 ← quotient i ← i + 1 xp ← xp x x dl ← dl + (xp / i) i ← i + 1 xp ← xp x x quotient ← (xp / i) dl ← dl - quotient FIN BOUCLE FAIRE TANT QUE dl ← dl x fois dl ← dl + ajout SI negatif ALORS dl ← -dl FIN SI RETOURNE dl |
Remarques
- La fonction LN permet d'effectuer des calculs mathématiques avancés directement dans les requêtes SQL, ce qui est particulièrement utile pour les statistiques, les algorithmes d'apprentissage automatique, ou les calculs financiers. Elle évite de devoir exporter les données vers un langage de programmation externe.
- Le logarithme naturel correspond au logarithme en base e (environ 2,71828). Cette base est couramment utilisée dans les sciences, notamment en mathématiques, en physique, et en finance, pour modéliser des phénomènes de croissance exponentielle ou de décroissance.
- La fonction LN ne peut pas être utilisée sur des valeurs nulles ou négatives. Si le paramètre est nul, la fonction retourne NULL ; si le paramètre est négatif, Oracle renvoie une erreur de type ORA-01428: argument 'X' à LN est inférieur ou égal à zéro.
- Lorsque la valeur transmise à LN est égale à 1, le résultat retourné est toujours 0, car le logarithme naturel de 1 est mathématiquement nul. Cela peut être un bon moyen de vérifier la validité ou la normalisation des données.
- Cette fonction est souvent combinée avec d'autres fonctions mathématiques comme EXP, LOG, ou POWER pour créer des expressions complexes. Par exemple, EXP(LN(x)) retourne x, tant que x est strictement positif, car les fonctions sont inverses l'une de l'autre.
- La précision du résultat retourné par LN dépend du type de données transmis. Si vous passez un nombre en NUMBER, la fonction renvoie un résultat très précis, tandis que l'utilisation avec des entiers simples produit un résultat moins détaillé mais suffisant pour des calculs standards.
- Dans les contextes analytiques ou scientifiques, LN est essentiel pour le calcul de logarithmes dans des bases de données volumineuses, évitant ainsi le recours à des outils externes comme R, Python ou MATLAB, ce qui optimise les performances globales.
- La fonction LN peut aussi être utile dans les modèles de régression logistique ou dans l'analyse de données issues de capteurs, car de nombreux phénomènes naturels suivent des lois exponentielles ou logarithmiques.
- Lorsqu'utilisée dans une clause SELECT, LN permet d'interpréter la croissance ou la décroissance relative d'une valeur, comme l'évolution d'un taux d'intérêt ou d'un taux de conversion. Cela peut appuyer des analyses économiques.
- Oracle propose aussi la fonction LOG, qui permet de spécifier la base du logarithme, contrairement à LN qui est strictement basé sur e. LOG(x, 10) permet par exemple d'obtenir le logarithme décimal de x.
- L'utilisation de LN dans une clause WHERE ou HAVING est possible, mais elle nécessite de s'assurer que les valeurs passées sont strictement positives, sinon cela entraîne des erreurs interrompant l'exécution de la requête.
- LN fonctionne de manière déterministe, ce qui signifie que pour une même entrée, elle retourne toujours le même résultat, ce qui est important dans des traitements reproductibles ou dans les vues matérialisées.
Voir également
Article - Les géants de l'informatique - Oracle
Dernière mise à jour : Lundi, le 11 mai 2015