次の方法で共有


POWER (Transact-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 乗を返す

次の例は、数値を 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)