Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Gäller för:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Returnerar värdet av det specificerade uttrycket till den angivna potensen.
Transact-SQL syntaxkonventioner
Syntax
POWER ( float_expression , y )
Arguments
float_expression
Är ett uttryck av typen float eller av en typ som implicit kan konverteras till float.
y
Är kraften att uppfostra float_expression.
y kan vara ett uttryck för den exakta numeriska eller approximativa numeriska datatypkategorin, förutom bitdatatypen .
Returtyper
Returtypen beror på ingångstypen för float_expression:
| Inmatningstyp | Returtyp |
|---|---|
| Flyt,äkta | float |
| Decimal(p, s) | Decimal(38, s) |
| int, smallint, tinyint | int |
| bigint | bigint |
| pengar, smallmoney | pengar |
| Bit, Char, Nchar, Varchar, Nvarchar | float |
Om resultatet inte passar in i returtypen uppstår ett aritmetiskt överflödesfel.
Examples
A. Att använda POWER för att returnera kuben av ett tal
Följande exempel visar hur man höjer ett tal till potensen av 3 (talets kub).
DECLARE @input1 FLOAT;
DECLARE @input2 FLOAT;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;
Här är resultatet.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Att använda POWER för att visa resultat av datatypkonvertering
Följande exempel visar hur float_expression bevarar den datatyp som kan ge oväntade resultat.
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
Här är resultatet.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. Att använda POWER
Följande exempel ger POWER resultat för 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
Här är resultatet.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Exempel: Azure Synapse Analytics and Analytics Platform System (PDW)
D: Använder POWER för att returnera kuben av ett tal
Följande exempel visar att resultaten för 2.0 till tredje potensen returnerarPOWER.
SELECT POWER(2.0, 3);
Här är resultatet.
------------
8.0
Se även
decimal och numerisk (Transact-SQL)
float och real (Transact-SQL)
int, bigint, smallint och tinyint (Transact-SQL)
Matematiska funktioner (Transact-SQL)
pengar och smallmoney (Transact-SQL)