Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

LOG10() Exemples dans SQL Server

Dans SQL Server, le T-SQL LOG10() function est une fonction mathématique qui renvoie le logarithme en base 10 de l'expression flottante spécifiée.

Vous spécifiez l'expression float comme argument.

Syntaxe

La syntaxe ressemble à ceci :

LOG10 ( float_expression ) 

expression_float est une expression de type float ou d'un type qui peut être implicitement converti en float.

Exemple 1 - Utilisation de base

Voici un exemple de base pour illustrer le fonctionnement de cette fonction.

SELECT LOG10(10) Résultat ;

Résultat :

+----------+| Résultat ||----------|| 1 |+----------+

Et voici un autre exemple utilisant différentes valeurs.

SELECT LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';

Résultat :

+-------+--------+------------------+---------+ | 100 | 1000 | 3000 | 10000 ||-------+--------+------------------+---------|| 2 | 3 | 3.47712125471966 | 4 |+-------+--------+------------------+---------+ 

Exemple 2 – Valeur négative

Voici un exemple de transmission d'une valeur négative.

SELECT LOG10(-4) Résultat ;

Résultat :

Msg 3623, Niveau 16, État 1, Ligne 1Une opération en virgule flottante non valide s'est produite.

Cet exemple renvoie un message d'erreur car le logarithme ne peut être renvoyé que pour les nombres positifs autres que 1.

Exemple 3 – Zéro

Voici un exemple de passage de zéro en argument (on obtient le même résultat que l'exemple précédent).

SELECT LOG10(0) Résultat ;

Résultat :

Msg 3623, Niveau 16, État 1, Ligne 1Une opération en virgule flottante non valide s'est produite.

Exemple 4 - Passe en 1

Passer la valeur 1 renvoie zéro.

SELECT LOG10(1) Résultat ;

Résultat :

+----------+| Résultat ||----------|| 0 |+----------+

Exemple 5 – Expressions

Vous pouvez également transmettre des expressions telles que :

SELECT LOG10(5*2) Résultat ;

Résultat :

+----------+| Résultat ||----------|| 1 |+----------+

C'est effectivement la même chose que de faire ceci :

SELECT LOG10(10) Résultat ;

Résultat :

+----------+| Résultat ||----------|| 1 |+----------+

LOG()

Transact-SQL a également le LOG() fonction qui renvoie le logarithme népérien d'un nombre.

En fait, vous pouvez utiliser LOG() au lieu de LOG10() si tu préfères. Pour ce faire, utilisez 10 comme deuxième argument de la fonction. Exemple ci-dessous.

SELECT LOG(100, 10) 'LOG', LOG10(100) 'LOG10' ;

Résultat :

+-------+---------+| JOURNAL | LOG10 ||-------+---------|| 2 | 2 |+-------+---------+