Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Exemplos de LOG10() no SQL Server


No SQL Server, o T-SQL LOG10() function é uma função matemática que retorna o logaritmo de base 10 da expressão float especificada.

Você especifica a expressão float como um argumento.


Sintaxe


A sintaxe fica assim:
LOG10 (expressão_flutuante) 

Onde float_expression é uma expressão do tipo float ou de um tipo que pode ser convertido implicitamente em float.

Exemplo 1 – Uso básico


Aqui está um exemplo básico para demonstrar como essa função funciona.
SELECIONAR LOG10(10) Resultado;

Resultado:
+----------+| Resultado ||----------|| 1 |+----------+

E aqui está outro exemplo usando vários valores.
SELECT LOG10(100) '100', LOG10(1000) '1000', LOG10(3000) '3000', LOG10(10000) '10000';

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

Exemplo 2 - Valor Negativo


Aqui está um exemplo de passagem de um valor negativo.
SELECIONAR LOG10(-4) Resultado;

Resultado:
Msg 3623, Level 16, State 1, Line 1Ocorreu uma operação de ponto flutuante inválida.

Este exemplo retorna uma mensagem de erro porque o logaritmo só pode ser retornado para números positivos que não sejam 1.

Exemplo 3 – Zero


Aqui está um exemplo de passagem de zero como argumento (obtemos o mesmo resultado do exemplo anterior).
SELECIONAR LOG10(0) Resultado;

Resultado:
Msg 3623, Level 16, State 1, Line 1Ocorreu uma operação de ponto flutuante inválida.

Exemplo 4 – Passando em 1


Passar um valor de 1 retorna zero.
SELECIONAR LOG10(1) Resultado;

Resultado:
+----------+| Resultado ||----------|| 0 |+----------+

Exemplo 5 – Expressões


Você também pode passar expressões como esta:
SELECIONAR LOG10(5*2) Resultado;

Resultado:
+----------+| Resultado ||----------|| 1 |+----------+

Isso é efetivamente o mesmo que fazer isso:
SELECIONAR LOG10(10) Resultado;

Resultado:
+----------+| Resultado ||----------|| 1 |+----------+

LOG()


Transact-SQL também tem o LOG() função que retorna o logaritmo natural de um número.

Na verdade, você pode usar LOG() em vez de LOG10() se você preferir. Para fazer isso, use 10 como o segundo argumento para a função. Exemplo abaixo.
SELECT LOG(100, 10) 'LOG', LOG10(100) 'LOG10';

Resultado:
+-------+---------+| LOG | LOG10 ||-------+---------|| 2 | 2 |+-------+---------+