sql >> Base de Datos >  >> RDS >> Sqlserver

Ejemplos de LOG10() en SQL Server

En SQL Server, el LOG10() de T-SQL function es una función matemática que devuelve el logaritmo en base 10 de la expresión flotante especificada.

Especifique la expresión flotante como un argumento.

Sintaxis

La sintaxis es así:

LOG10 ( float_expression ) 

Donde expresión_flotante es una expresión de tipo float o de un tipo que se puede convertir implícitamente a float.

Ejemplo 1:uso básico

Aquí hay un ejemplo básico para demostrar cómo funciona esta función.

SELECT LOG10(10) Result;

Resultado:

+----------+
| Result   |
|----------|
| 1        |
+----------+

Y aquí hay otro ejemplo usando varios valores.

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

Resultado:

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

Ejemplo 2:valor negativo

Este es un ejemplo de pasar un valor negativo.

SELECT LOG10(-4) Result;

Resultado:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Este ejemplo devuelve un mensaje de error porque el logaritmo solo se puede devolver para números positivos que no sean 1.

Ejemplo 3:Cero

Aquí hay un ejemplo de pasar cero como argumento (obtenemos el mismo resultado que en el ejemplo anterior).

SELECT LOG10(0) Result;

Resultado:

Msg 3623, Level 16, State 1, Line 1
An invalid floating point operation occurred.

Ejemplo 4 – Pasando en 1

Pasar un valor de 1 devuelve cero.

SELECT LOG10(1) Result;

Resultado:

+----------+
| Result   |
|----------|
| 0        |
+----------+

Ejemplo 5 – Expresiones

También puede pasar expresiones como esta:

SELECT LOG10(5*2) Result;

Resultado:

+----------+
| Result   |
|----------|
| 1        |
+----------+

Eso es efectivamente lo mismo que hacer esto:

SELECT LOG10(10) Result;

Resultado:

+----------+
| Result   |
|----------|
| 1        |
+----------+

REGISTRO()

Transact-SQL también tiene el LOG() función que devuelve el logaritmo natural de un número.

De hecho, puedes usar LOG() en lugar de LOG10() si tu prefieres. Para hacer esto, use 10 como segundo argumento de la función. Ejemplo a continuación.

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

Resultado:

+-------+---------+
| LOG   | LOG10   |
|-------+---------|
| 2     | 2       |
+-------+---------+