POWER (Transact-SQL)
Applies to: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric の SQL 分析エンドポイント Microsoft Fabric のウェアハウス
指定されたべき乗の指定された式の値を返します。
構文
POWER ( float_expression , y )
引数
float_expression
float 型、または暗黙的に float 型に変換できる式を指定します。
y
float_expression の乗数を指定します。 y を除く、真数または概数数値の正確なデータ型に分類される式を指定できます、 ビット データ型。
戻り値の型
戻り値の型は、float_expression の入力型によって異なります。
入力の種類 | の戻り値の型 : |
---|---|
float、real | float |
decimal(p, s) | decimal(38, s) |
int、smallint、tinyint | int |
bigint | bigint |
money、 smallmoney | money |
bit、char、nchar、varchar、nvarchar | float |
結果が戻り値の型に一致しない合、算術オーバーフロー エラーが発生します。
例
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 を使用する
次の例では、POWER
に対する 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
結果セットは次のとおりです。
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
例: Azure Synapse Analytics、Analytics Platform System (PDW)
D: POWER を使用して数値の 3 乗を返す
次の例は、2.0
の 3 乗の POWER
結果を示しています。
SELECT POWER(2.0, 3);
結果セットは次のとおりです。
------------
8.0
参照
decimal 型と numeric 型 (Transact-SQL)
float 型と real 型 (Transact-SQL)
int、bigint、smallint、および tinyint (Transact-SQL)
数学関数 (Transact-SQL)
money と smallmoney (Transact-SQL)