共用方式為


POWER (Transact-SQL)

傳回指定乘冪之指定運算式的值。

適用於:SQL Server (SQL Server 2008 透過目前版本)、Windows Azure SQL 資料庫 (初始版本,透過目前版本)。

主題連結圖示 Transact-SQL 語法慣例

語法

POWER ( float_expression , y )

引數

  • float_expression
    這是 float 類型或可隱含地轉換成 float 之類型的運算式

  • y
    這是 float_expression 相乘的乘冪。 y 可以是精確數值或近似數值資料類型類別目錄的運算式,但 bit 資料類型除外。

傳回類型

傳回的類型與 float_expression 中所提交的類型相同。 例如,如果 decimal(2,0) 提交為 float_expression,傳回的結果會是 decimal(2,0)。

範例

A.使用 POWER 傳回數字的立方

下列範例示範將某個數字自乘 3 次 (數字的立方)。

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

以下為結果集:

Result1                Result2
---------------------- ----------------------
8                      15.625

(1 row(s) affected)

B.利用 POWER 來顯示資料類型轉換的結果

下列範例示範 float_expression 如何保留可能會傳回非預期結果的資料類型。

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

以下為結果集:

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

C.使用 POWER

下列範例會傳回 2 的 POWER 結果。

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

以下為結果集:

----------- 
2           

(1 row(s) affected)

----------- 
4           

(1 row(s) affected)

----------- 
8           

(1 row(s) affected)

----------- 
16          

(1 row(s) affected)

請參閱

參考

decimal 和 numeric (Transact-SQL)

float 和 real (Transact-SQL)

int、bigint、smallint 和 tinyint (Transact-SQL)

數學函數 (Transact-SQL)

money 和 smallmoney (Transact-SQL)