Megosztás a következőn keresztül:


POWER (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

A megadott kifejezés értékét a megadott hatványhoz adja vissza.

Transact-SQL szintaxis konvenciók

Szemantika

POWER ( float_expression , y )  

Arguments

float_expression
A floattípusú kifejezés, vagy olyan típus, amely implicit módon átalakítható float-ra.

y
Az a hatalom, amelyre float_expression felemelhetünk. y lehet a pontos numerikus vagy közelítő numerikus adattípus kifejezése, kivéve a bitadattípust .

Visszatérési típusok

A visszatérési típus a bemeneti float_expression típusától függ:

Bemeneti típus Visszatérési típus
lebegő, valós float
tizedes (p, s) tizedes (38, s)
int, smallint, tinyint int
bigint bigint
pénz, smallmoney pénz
Bit, char, nchar, varchar, nvarchar float

Ha az eredmény nem illeszkedik a visszacsatoló típusba, aritmetikai túlterhelés következik be.

Példák

A. POWER segítségével visszaadjuk a szám kockáját

A következő példa bemutatja, hogyan emelünk egy számot 3-as hattusra (a szám kockája).

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

Itt van az eredmények összessége.

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

B. POWER használata az adattípus-átalakítás eredményeinek megjelenítésére

Az alábbi példa bemutatja, hogyan őrzi meg a float_expression azt az adattípust, amely váratlan eredményeket hozhat.

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  

Itt van az eredmények összessége.

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

C. POWER használata

A következő példa az eredményt adja POWER meg a -re.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  

Itt van az eredmények összessége.

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

Példák: Azure Synapse Analytics and Analytics Platform System (PDW)

D: POWER segítségével visszaadjuk a szám kockáját

Az alábbi példa a harmadik hatványhoz tartozó eredményeket 2.0 mutatjaPOWER.

SELECT POWER(2.0, 3);  

Itt van az eredmények összessége.

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

Lásd még:

decimális és numerikus (Transact-SQL)
lebegő és valós (Transact-SQL)
int, bigint, smallint és tinyint (Transact-SQL)
Matematikai függvények (Transact-SQL)
pénz és kismamák (Transact-SQL)