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)입니다.

1.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)

2.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

3.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)