POWER (Transact-SQL)POWER (Transact-SQL)

適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse適用対象:Applies to: はいSQL ServerSQL Server (サポートされているすべてのバージョン) yesSQL ServerSQL Server (all supported versions) はいAzure SQL データベースAzure SQL DatabaseYesAzure SQL データベースAzure SQL Database はいAzure SQL Managed InstanceAzure SQL Managed InstanceYesAzure SQL Managed InstanceAzure SQL Managed Instance はいAzure Synapse AnalyticsAzure Synapse AnalyticsyesAzure Synapse AnalyticsAzure Synapse Analytics はいParallel Data WarehouseParallel Data WarehouseyesParallel Data WarehouseParallel Data Warehouse

指定されたべき乗の指定された式の値を返します。Returns the value of the specified expression to the specified power.

トピック リンク アイコン Transact-SQL 構文表記規則Topic link icon Transact-SQL Syntax Conventions

構文Syntax

POWER ( float_expression , y )  

注意

SQL Server 2014 以前の Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。To view Transact-SQL syntax for SQL Server 2014 and earlier, see Previous versions documentation.

引数Arguments

float_expressionfloat_expression
float 型、または暗黙的に float 型に変換できる を指定します。Is an expression of type float or of a type that can be implicitly converted to float.

yy
float_expression の乗数を指定します。Is the power to which to raise float_expression. y を除く、真数または概数数値の正確なデータ型に分類される式を指定できます、 ビット データ型。y can be an expression of the exact numeric or approximate numeric data type category, except for the bit data type.

戻り値の型Return Types

戻り値の型は、float_expression の入力型によって異なります。The return type depends on the input type of float_expression:

入力の種類Input type の戻り値の型 :Return type
floatrealfloat, real floatfloat
decimal(p, s)decimal(p, s) decimal(38, s)decimal(38, s)
intsmallinttinyintint, smallint, tinyint intint
bigintbigint bigintbigint
moneysmallmoneymoney, smallmoney moneymoney
bitcharncharvarcharnvarcharbit, char, nchar, varchar, nvarchar floatfloat

結果が戻り値の型に一致しない合、算術オーバーフロー エラーが発生します。If the result does not fit in the return type, an arithmetic overflow error occurs.

Examples

A.A. POWER を使用して数値の 3 乗を返すUsing POWER to return the cube of a number

次の例は、数値を 3 乗する方法を示しています。The following example demonstrates raising a number to the power of 3 (the cube of the number).

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

結果セットは次のようになります。Here is the result set.

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

B.B. POWER を使用してデータ型変換の結果を示すUsing POWER to show results of data type conversion

例を次に、どのように float_expression 予期しない結果を返すことができるデータ型を保持します。The following example shows how the float_expression preserves the data type which can return unexpected results.

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  

結果セットは次のようになります。Here is the result set.

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

C.C. POWER を使用するUsing POWER

次の例では、POWER に対する 2 の結果を返します。The following example returns POWER results for 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  

結果セットは次のようになります。Here is the result set.

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

例: Azure Synapse AnalyticsAzure Synapse AnalyticsParallel Data WarehouseParallel Data WarehouseExamples: Azure Synapse AnalyticsAzure Synapse Analytics and Parallel Data WarehouseParallel Data Warehouse

D: POWER を使用して数値の 3 乗を返すD: Using POWER to return the cube of a number

次の例は、2.0 の 3 乗の POWER 結果を示しています。The following example shows returns POWER results for 2.0 to the 3rd power.

SELECT POWER(2.0, 3);  

結果セットは次のようになります。Here is the result set.

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

参照See Also

decimal 型と numeric 型 (Transact-SQL) decimal and numeric (Transact-SQL)
float と real (Transact-SQL) float and real (Transact-SQL)
int、bigint、smallint、tinyint (Transact-SQL) int, bigint, smallint, and tinyint (Transact-SQL)
数学関数 (Transact-SQL) Mathematical Functions (Transact-SQL)
money および smallmoney (Transact-SQL)money and smallmoney (Transact-SQL)