POWER (Transact-SQL)
Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse no Microsoft Fabric
Retorna o valor da expressão especificada para a potência indicada.
Convenções de sintaxe de Transact-SQL
Sintaxe
POWER ( float_expression , y )
Argumentos
float_expression
É uma expression do tipo float ou de um tipo que pode ser convertido implicitamente em float.
y
É a potência à qual elevar float_expression. y pode ser uma expressão da categoria de tipo de dados numéricos exatos ou aproximados, com exceção do tipo de dados bit.
Tipos de retorno
O tipo de retorno depende do tipo de entrada da float_expression:
Tipo de entrada | Tipo de retorno |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit, char, nchar, varchar, nvarchar | float |
Se o resultado não se adequar ao tipo de retorno, ocorrerá um erro de estouro aritmético.
Exemplos
a. Usando POWER para retornar o cubo de um número
O exemplo a seguir demonstra a elevação de um número à potência 3 (o cubo do número).
DECLARE @input1 FLOAT;
DECLARE @input2 FLOAT;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;
Veja a seguir o conjunto de resultados.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Usando POWER para mostrar os resultados da conversão de tipo de dados
O exemplo a seguir mostra como float_expression preserva o tipo de dados que pode retornar resultados inesperados.
SELECT
POWER(CAST(2.0 AS FLOAT), -100.0) AS FloatResult,
POWER(2, -100.0) AS IntegerResult,
POWER(CAST(2.0 AS INT), -100.0) AS IntegerResult,
POWER(2.0, -100.0) AS Decimal1Result,
POWER(2.00, -100.0) AS Decimal2Result,
POWER(CAST(2.0 AS DECIMAL(5,2)), -100.0) AS Decimal2Result;
GO
Veja a seguir o conjunto de resultados.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. Usando POWER
O exemplo a seguir retorna os resultados de POWER
para 2
.
DECLARE @value INT, @counter INT;
SET @value = 2;
SET @counter = 1;
WHILE @counter < 5
BEGIN
SELECT POWER(@value, @counter)
SET NOCOUNT ON
SET @counter = @counter + 1
SET NOCOUNT OFF
END;
GO
Veja a seguir o conjunto de resultados.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Exemplos: Azure Synapse Analytics e PDW (Analytics Platform System)
D: Usando POWER para retornar o cubo de um número
O exemplo a seguir mostra retorna POWER
resultados para 2.0
à 3ª potência.
SELECT POWER(2.0, 3);
Veja a seguir o conjunto de resultados.
------------
8.0
Confira também
decimal e numeric (Transact-SQL)
flutuante e real (Transact-SQL)
int, bigint, smallint e tinyint (Transact-SQL)
Funções matemáticas (Transact-SQL)
money e smallmoney (Transact-SQL)