다음을 통해 공유


POWER(Transact-SQL)

적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics분석 플랫폼 시스템(PDW)Microsoft Fabric의 SQL 분석 엔드포인트Microsoft Fabric의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

지정된 식을 거듭제곱한 값을 반환합니다.

Transact-SQL 구문 표기 규칙

구문

POWER ( float_expression , y )  

인수

float_expression
float 형식 또는 float로 암시적으로 변환되는 형식의 입니다.

y
float_expression의 거듭제곱입니다. ybit 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 식일 수 있습니다.

반환 형식

반환 형식은 float_expression의 입력 형식에 따라 달라집니다.

입력 형식 반환 형식
플로트, 진짜 float
10진수(p, s) 10진수(38, s)
지능, 작은,조인트 int
bigint bigint
money, smallmoney money
비트, 르, 은차르, 바르차르, 느바르차르 float

결과가 반환 형식에 맞지 않으면 산술 오버플로 오류가 발생합니다.

예제

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

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 및 분석 플랫폼 시스템(PDW)

4. POWER를 사용하여 숫자의 세제곱 반환

다음 예에서는 POWER의 세제곱에 대한 2.0 결과를 반환합니다.

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)