Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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)