Partilhar via


ENERGIA (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade 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 and Analytics Platform System (PDW)

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

Ver também

decimais e numéricos (Transact-SQL)
flutuador e real (Transact-SQL)
int, bigint, smallint e tinyint (Transact-SQL)
Funções Matemáticas (Transact-SQL)
dinheiro e dinheiro pequeno (Transact-SQL)