POWER (Transact-SQL)
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL analytics endpoint in Microsoft Fabric Warehouse in Microsoft Fabric
Retourne la valeur de l’expression spécifiée élevée à la puissance spécifiée.
Conventions de la syntaxe Transact-SQL
Syntaxe
POWER ( float_expression , y )
Arguments
float_expression
Expression de type float ou dont le type peut être implicitement converti en type float.
y
Puissance à laquelle élever float_expression. y peut être une expression de la catégorie de type de données numérique exacte ou approximative, à l’exception du type de données bit.
Types de retour
Le type de retour dépend du type d’entrée de float_expression :
Type d’entrée | Type de retour |
---|---|
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 le résultat ne tient pas dans le type de retour, une erreur de dépassement de capacité arithmétique se produit.
Exemples
R. Utilisation de la fonction POWER pour retourner le cube d'un nombre
L'exemple suivant montre comment élever un nombre à la puissance 3 (le cube du nombre).
DECLARE @input1 FLOAT;
DECLARE @input2 FLOAT;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;
Voici le jeu de résultats.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Utilisation de la fonction POWER pour afficher les résultats de la conversion du type de données
L’exemple suivant montre comment float_expression conserve le type de données qui peut renvoyer des résultats inattendus.
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
Voici le jeu de résultats.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. Utilisation de POWER
Cet exemple retourne des résultats POWER
pour 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
Voici le jeu de résultats.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Exemples : Azure Synapse Analytics et Analytics Platform System (PDW)
D : Utilisation de la fonction POWER pour renvoyer le cube d’un nombre
L’exemple suivant retourne les résultats de POWER
pour 2.0
à la puissance 3.
SELECT POWER(2.0, 3);
Voici le jeu de résultats.
------------
8.0
Voir aussi
decimal et numeric (Transact-SQL)
float et real (Transact-SQL)
int, bigint, smallint et tinyint (Transact-SQL)
Fonctions mathématiques (Transact-SQL)
money et smallmoney (Transact-SQL)