Sdílet prostřednictvím


VÝKON (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí hodnotu zadaného výrazu na určenou mocninu.

Transact-SQL konvence syntaxe

Syntaxe

POWER ( float_expression , y )  

Arguments

float_expression
Je výraz typu float nebo typu, který lze implicitně převést na float.

y
Je to síla, ke které pozvednout float_expression. y může být výrazem pro přesnou číselnou nebo aproximativní kategorii datových typů, kromě bitového datového typu.

Návratové typy

Typ návratu závisí na typu vstupu float_expression:

Typ vstupu Návratový typ
Float, Real float
desetinné (p, s) desetinné (38, s)
int, smallint, tinyint int
bigint bigint
money, smallmoney peníze
Bit, char, nchar, varchar, nvarchar float

Pokud výsledek nezapadá do typu returnu, dochází k aritmetické chybě přetečení.

Examples

A. Použití POWER k vrácení krychle čísla

Následující příklad ukazuje zvýšení čísla na mocninu 3 (krychle čísla).

DECLARE @input1 FLOAT;  
DECLARE @input2 FLOAT;  
SET @input1= 2;  
SET @input2 = 2.5;  
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;  

Tady je soubor výsledků.

Result1                Result2  
---------------------- ----------------------  
8                      15.625  
  
(1 row(s) affected)  

B. Použití POWER k zobrazení výsledků konverze datových typů

Následující příklad ukazuje, jak float_expression zachovává datový typ, který může vrátit neočekávané výsledky.

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  

Tady je soubor výsledků.

FloatResult            IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result  
---------------------- ------------- ------------- -------------- -------------- --------------  
7.88860905221012E-31   0             0             0.0            0.00           0.00  

C. Použití POWER

Následující příklad vrací POWER výsledky pro 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  

Tady je soubor výsledků.

-----------   
2             
  
(1 row(s) affected)  
  
-----------   
4             
  
(1 row(s) affected)  
  
-----------   
8             
  
(1 row(s) affected)  
  
-----------   
16            
  
(1 row(s) affected)  

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

D: Použití SÍLY k vrácení krychle čísla

Následující příklad ukazuje výsledky pro pro POWER2.0 třetí mocninu.

SELECT POWER(2.0, 3);  

Tady je soubor výsledků.

------------ 
8.0

Viz také

desetinné a číselné (Transact-SQL)
float a real (Transact-SQL)
int, bigint, smallint a tinyint (Transact-SQL)
Matematické funkce (Transact-SQL)
Peníze a drobné peníze (Transact-SQL)