적용 대상:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
분석 플랫폼 시스템(PDW)
Microsoft Fabric의 SQL 분석 엔드포인트
Microsoft Fabric의 웨어하우스
Microsoft Fabric의 SQL 데이터베이스
지정된 식을 거듭제곱한 값을 반환합니다.
구문
POWER ( float_expression , y )
인수
float_expression
float 형식 또는 float로 암시적으로 변환되는 형식의 식입니다.
y
float_expression의 거듭제곱입니다.
y는 bit 데이터 형식을 제외한 정확한 수치 또는 근사치 데이터 형식 범주의 식일 수 있습니다.
반환 형식
반환 형식은 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)