POWER (Transact-SQL)
Se aplica a: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Punto de conexión de análisis SQL en Microsoft Fabric Almacenamiento en Microsoft Fabric
Devuelve el valor de la expresión especificada a la potencia especificada.
Convenciones de sintaxis de Transact-SQL
Sintaxis
POWER ( float_expression , y )
Argumentos
float_expression
Es una expresión de tipo float o de un tipo que se puede convertir en float de manera implícita.
y
Es la potencia a la que elevar float_expression. y puede ser una expresión de la categoría de tipos de datos numérico exacto o numérico aproximado, excepto para el tipo de datos bit.
Tipos de valor devuelto
El tipo de valor devuelto depende del tipo de entrada de float_expression:
Tipo de entrada | Tipo de valor devuelto |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit, char, nchar, varchar, nvarchar | float |
Si el resultado no cabe en el tipo de valor devuelto, se produce un error de desbordamiento aritmético.
Ejemplos
A. Usar POWER para devolver el cubo de un número
En el ejemplo siguiente se muestra cómo elevar un número a la potencia 3 (el cubo del 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 es el conjunto de resultados.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Usar POWER para mostrar los resultados de la conversión del tipo de datos
En el ejemplo siguiente se muestra cómo float_expression conserva el tipo de datos que puede 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
Este es el conjunto de resultados.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. Usar POWER
El ejemplo siguiente devuelve los 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 es el conjunto de resultados.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Ejemplos: Azure Synapse Analytics y Sistema de la plataforma de análisis (PDW)
D. Usar POWER para devolver el cubo de un número
En este ejemplo se devuelven resultados de POWER
para 2.0
a la potencia 3.
SELECT POWER(2.0, 3);
Este es el conjunto de resultados.
------------
8.0
Consulte también
decimal y numeric (Transact-SQL)
float y real (Transact-SQL)
int, bigint, smallint y tinyint (Transact-SQL)
Funciones matemáticas (Transact-SQL)
money y smallmoney (Transact-SQL)