POWER (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse 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 )
Observação
Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.
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;
Este é 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
Este é 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
Este é 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);
Este é o conjunto de resultados.
------------
8.0
Consulte 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)
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários