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()
.