Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Aplica-se a:SQL Server
Base de Dados SQL do Azure
Instância Gerida do Azure SQL
Azure Synapse Analytics
Sistema de Plataforma de Análise (PDW)
Ponto de Extremidade de Análise SQL no Microsoft Fabric
Armazém no Microsoft Fabric
Base 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)