POWER (Transact-SQL)
Se aplica a: punto de conexión de SQL Server
Azure SQL Database
Azure SQL Instancia administrada
punto de conexión de SQL Analytics Analytics Platform System (PDW) de SQL Analytics
System (PDW)
de SQL Server en Microsoft Fabric
Warehouse 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 )
Nota:
Para ver la sintaxis de Transact-SQL para SQL Server 2014 (12.x) y versiones anteriores, consulte Versiones anteriores de la documentación.
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;
El conjunto de resultados es el siguiente:
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
El conjunto de resultados es el siguiente:
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
El conjunto de resultados es el siguiente:
-----------
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);
El conjunto de resultados es el siguiente:
------------
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)
Comentaris
https://aka.ms/ContentUserFeedback.
Properament: al llarg del 2024 eliminarem gradualment GitHub Issues com a mecanisme de retroalimentació del contingut i el substituirem per un nou sistema de retroalimentació. Per obtenir més informació, consulteu:Envieu i consulteu els comentaris de