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

Ejemplos de LOG() en SQL Server

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

Especifique la expresión flotante como un argumento. También puede proporcionar un segundo argumento (opcional) para establecer la base del logaritmo.

Sintaxis

La sintaxis es así:

LOG ( float_expression [, base ] )  

Donde expresión_flotante es una expresión de tipo float o de un tipo que se puede convertir implícitamente a float, y base es un argumento entero opcional que establece la base para el logaritmo.

Ejemplo 1:un argumento

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

SELECT LOG(10) Result;

Resultado:

+------------------+
| Result           |
|------------------|
| 2.30258509299405 |
+------------------+

Y aquí hay otro ejemplo usando un valor diferente.

SELECT LOG(0.5) Result;

Resultado:

+--------------------+
| Result             |
|--------------------|
| -0.693147180559945 |
+--------------------+

Ejemplo 2:valor negativo

Este es un ejemplo de pasar un valor negativo.

SELECT LOG(-10) Result;

Resultado:

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

Este ejemplo devuelve un 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 LOG(0) Result;

Resultado:

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

Ejemplo 4 – Pasando en 1

Si pasa un valor de 1, termina con cero.

SELECT LOG(1) Result;

Resultado:

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

Ejemplo 5 – Expresiones

Puede pasar expresiones como esta:

SELECT LOG(2+3) Result;

Resultado:

+-----------------+
| Result          |
|-----------------|
| 1.6094379124341 |
+-----------------+

Eso es efectivamente lo mismo que hacer esto:

SELECT LOG(5) Result;

Resultado:

+-----------------+
| Result          |
|-----------------|
| 1.6094379124341 |
+-----------------+

Ejemplo 6:dos argumentos

Aquí hay un ejemplo para demostrar cómo funciona esta función usando dos argumentos.

SELECT LOG(10, 100) Result;

Resultado:

+----------+
| Result   |
|----------|
| 0.5      |
+----------+

Y usando otro ejemplo:

SELECT LOG(100, 10) Result;

Resultado:

+----------+
| Result   |
|----------|
| 2        |
+----------+

Si está familiarizado con la versión MySQL de LOG() , notará que la sintaxis de dos argumentos usa el orden opuesto a la versión de T-SQL (es decir, la base viene primero).

Ejemplo 7:usar una base de 1

Si usa 1 como base, obtendrá un error.

SELECT LOG(10, 1) Result;

Resultado:

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

Lo mismo si el primer argumento es igual a cero o menos:

SELECT LOG(0, 10) Result;

Resultado:

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

T-SQL también tiene el EXP() función que es la inversa de LOG() función.

También puede usar el LOG10() función, que devuelve el logaritmo en base 10 de la expresión flotante especificada. Usar esta función es lo mismo que pasar 10 como segundo argumento del LOG() función.