KRAFT (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-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)