POWER(Transact-SQL)
적용 대상: 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는 bit 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 식일 수 있습니다.
반환 형식
반환 형식은 float_expression의 입력 형식에 따라 달라집니다.
입력 형식 | 반환 형식 |
---|---|
float, real | float |
10진수(p, s) | 10진수(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit, char, nchar, varchar, nvarchar | 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를 사용하여 숫자의 세제곱 반환
다음 예에서는 2.0
의 세제곱에 대한 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)