SQL道場 算術関数 POW/POWER関数

SQLでべき乗(累乗)した値を取得するPOW/POWER関数について記載しています。

対応データベースSQL Server MySQL Oracle PostgreSQL DB2

POW/POWER関数の文法

SELECT POW(数値1, 数値2) FROM テーブル
SELECT POWER(数値1, 数値2) FROM テーブル

引数数値1数値型 数値(任意の数)
桁数2数値型 数値(任意の数)
返値数値型 数値1を数値2の値で乗じた結果。数値1

SQLServer

入力種類戻り値の型
float,realfloat
decimal(p,s)decimal(38, s)
int、smallint、tinyintint
bigintbigint
money、 smallmoneymoney
bit、char、nchar、varchar、nvarcharfloat

POW/POWER関数は数値1を数値2で乗じた結果を戻します。POWER関数を使いPOWER(数値1,数値2)と指定しても同じ結果になります。MySQLはPOW/POWERどちらの関数も使用することができます。

SQLServer仕様

結果が戻り値の型に一致しない合、算術オーバーフロー エラーが発生します。

実行例

MySQLの実行例

/* MySQL べき乗のサンプル */
SELECT 
	pow(2,2) as POW_value1  
    ,power(2,2) as POW_value2  
	,power(4,2) as POW_value3  
    ,power(6,3) as POW_value4  
    ,power(-6,3) as POW_value5  /* 数値1にマイナスの値を指定 */
    ,power(6,-3) as POW_value6  /* 数値2にマイナスの値を指定 */
;
POW/POWER関数サンプル実行結果

数値2にマイナス(負)の値を指定した場合、浮動小数点の型で返されます。

SQLServerの実行例

/* SQLServer べき乗のサンプル */
SELECT 
    power(2,2) as POW_value2  
	,power(4,2) as POW_value3  
    ,power(6,3) as POW_value4  
	,power(-6,3) as POW_value5  /* 数値1にマイナスの値を指定 */
;
POW/POWER関数サンプル実行結果

数値2にマイナス(負)の値を指定した場合、0が返されます。