ENERGIA (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureAzure SQL Managed InstanceAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de dados SQL no Microsoft Fabric

Devolve o valor da expressão especificada à potência especificada.

Transact-SQL convenções de sintaxe

Sintaxe

POWER ( float_expression , y )  

Arguments

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

y
É o poder para elevar float_expression. Y pode ser uma expressão do tipo de dado numérico exato ou numérico aproximado, exceto para o tipo de dado bit .

Tipos de devolução

O tipo de retorno depende do tipo de entrada da float_expression:

Tipo de entrada Tipo de retorno
flutuar, real float
decimal(p, s) decimal(38, s)
int, smallint, minyint int
bigint bigint
dinheiro, dinheiro pequeno dinheiro
bit, char, nchar, varchar, nvarchar float

Se o resultado não caber no tipo de retorno, ocorre um erro de transbordamento aritmético.

Examples

A. Usar POWER para devolver o cubo de um número

O exemplo seguinte demonstra elevar um número para a potência de 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;  

Aqui está o conjunto de resultados.

Result1                Result2  
---------------------- ----------------------  
8                      15.625  
  
(1 row(s) affected)  

B. Usar o POWER para mostrar os resultados da conversão de tipos de dados

O exemplo seguinte mostra como o float_expression preserva o tipo de dado que pode devolver 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  

Aqui está o conjunto de resultados.

FloatResult            IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result  
---------------------- ------------- ------------- -------------- -------------- --------------  
7.88860905221012E-31   0             0             0.0            0.00           0.00  

C. Usar o PODER

O exemplo seguinte retorna POWER resultados 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  

Aqui está 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

D: Usar POWER para devolver o cubo de um número

O exemplo seguinte mostra os resultados de devolução POWER para 2.0 a 3ª potência.

SELECT POWER(2.0, 3);  

Aqui está o conjunto de resultados.

------------ 
8.0