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

Exemplos de POWER() no SQL Server


No SQL Server, o T-SQL POWER() function é uma função matemática que retorna o valor da expressão especificada para a potência especificada.

A função aceita dois argumentos; o primeiro especifica a expressão, o segundo especifica o poder com o qual aumentar essa expressão.

O valor de retorno é o mesmo tipo de dados que o primeiro argumento.


Sintaxe


A sintaxe fica assim:
POWER ( float_expression , y )

Onde float_expression é uma expressão do tipo float ou de um tipo que pode ser convertido implicitamente em float, e y é o poder com o qual aumentar float_expression .

s pode ser uma expressão da categoria de tipo de dados numéricos exatos ou numéricos aproximados, exceto para o tipo de dados de bits.

Exemplo 1 – Uso básico


Aqui está um exemplo básico para demonstrar como essa função funciona.
SELECT POWER(2, 3) Result;

Resultado:
+----------+
| Result   |
|----------|
| 8        |
+----------+

Exemplo 2 - Valor Negativo


Aqui está um exemplo de passagem de um valor negativo para o primeiro argumento.
SELECT 
  POWER(-2, 3) 'Result 1',
  POWER(-20, 3) 'Result 2',
  POWER(-2, 30) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| -8         | -8000      | 1073741824 |
+------------+------------+------------+

E aqui está um valor negativo para o segundo argumento:
SELECT 
  POWER(2, -3) 'Result 1',
  POWER(20, -20) 'Result 2',
  POWER(200, -300) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

E em seguida, ambos os argumentos são negativos:
SELECT 
  POWER(-2, -3) 'Result 1',
  POWER(-20, -20) 'Result 2',
  POWER(-200, -300) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

Exemplo 3 – Zero


Aqui está um exemplo de passagem de zero como o primeiro argumento.
SELECT 
  POWER(0, 3) 'Result 1',
  POWER(0, 20) 'Result 2',
  POWER(0, 300) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 0          | 0          | 0          |
+------------+------------+------------+

E zero para o segundo argumento:
SELECT 
  POWER(3, 0) 'Result 1',
  POWER(20, 0) 'Result 2',
  POWER(300, 0) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 1          | 1          | 1          |
+------------+------------+------------+

Exemplo 4 – Passando em 1


Passando um valor de 1 para o primeiro argumento.
SELECT 
  POWER(1, 3) 'Result 1',
  POWER(1, 30) 'Result 2',
  POWER(1, 300) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 1          | 1          | 1          |
+------------+------------+------------+

E 1 para o segundo argumento:
SELECT 
  POWER(3, 1) 'Result 1',
  POWER(30, 1) 'Result 2',
  POWER(300, 1) 'Result 3';

Resultado:
+------------+------------+------------+
| Result 1   | Result 2   | Result 3   |
|------------+------------+------------|
| 3          | 30         | 300        |
+------------+------------+------------+

Exemplo 5 – Expressões


Você também pode passar expressões como esta:
SELECT POWER(5*2, 2) Result;

Resultado:
+----------+
| Result   |
|----------|
| 100      |
+----------+

Isso é efetivamente o mesmo que fazer isso:
SELECT POWER(10, 2) Result;

Resultado:
+----------+
| Result   |
|----------|
| 100      |
+----------+

LOG10()


Transact-SQL também tem o LOG10() função que é inversamente relacionada a POWER() .