POWER (SQL Transact)

Berlaku untuk:yes SQL Server (semua versi yang didukung) YesAzure SQL Database YesAzure SQL Managed Instance yesAzure Synapse Analytics yesAnalytics Platform System (PDW)

Mengembalikan nilai dari ekspresi yang ditentukan ke daya yang ditentukan.

Topic link iconKonvensi Sintaksis T-SQL

Sintaks

POWER ( float_expression , y )  

Catatan

Untuk melihat sintaks transact-SQL untuk SQL Server 2014 dan yang lebih lama, lihat Dokumentasi versi sebelumnya.

Argumen

float_expression
Adalah ekspresi jenis float atau jenis yang dapat dikonversi secara implisit ke float.

y
Adalah kekuatan untuk meningkatkan float_expression. y dapat menjadi ekspresi dari kategori jenis data numerik atau perkiraan numerik yang tepat, kecuali untuk jenis data bit .

Jenis Pengembalian

Jenis pengembalian tergantung pada jenis input float_expression:

Jenis input Tipe hasil
float, nyata Float
desimal(p, s) desimal(38, dtk)
int, smallint, tinyint int
bigint bigint
uang, smallmoney Uang
bit, char, nchar, varchar, nvarchar Float

Jika hasilnya tidak pas dalam jenis pengembalian, kesalahan luapan aritmatika terjadi.

Contoh

A. Menggunakan POWER untuk mengembalikan kubus angka

Contoh yang ditunjukkan berikut ini menaikkan angka ke daya 3 (kubus angka).

DECLARE @input1 FLOAT;  
DECLARE @input2 FLOAT;  
SET @input1= 2;  
SET @input2 = 2.5;  
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;  

Berikut adalah hasilnya.

Result1                Result2  
---------------------- ----------------------  
8                      15.625  
  
(1 row(s) affected)  

B. Menggunakan POWER untuk menampilkan hasil konversi jenis data

Contoh berikut menunjukkan bagaimana float_expression mempertahankan jenis data yang dapat mengembalikan hasil yang tidak terduga.

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  

Berikut adalah hasil yang ditetapkan.

FloatResult            IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result  
---------------------- ------------- ------------- -------------- -------------- --------------  
7.88860905221012E-31   0             0             0.0            0.00           0.00  

C. Menggunakan POWER

Contoh berikut mengembalikan POWER hasil untuk 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  

Berikut adalah hasil yang ditetapkan.

-----------   
2             
  
(1 row(s) affected)  
  
-----------   
4             
  
(1 row(s) affected)  
  
-----------   
8             
  
(1 row(s) affected)  
  
-----------   
16            
  
(1 row(s) affected)  

Contoh: Azure Synapse Analytics and Analytics Platform System (PDW)

D: Menggunakan POWER untuk mengembalikan kubus angka

Contoh berikut menunjukkan mengembalikan POWER hasil untuk 2.0 ke daya ke-3.

SELECT POWER(2.0, 3);  

Berikut adalah hasil yang ditetapkan.

------------ 
8.0

Lihat juga

desimal dan numerik (transact-SQL)
float dan nyata (SQL transact)
int, bigint, smallint, dan tinyint (Transact-SQL)
Fungsi Matematika (SQL Transact)
uang dan smallmoney (transact-SQL)