Bagikan melalui


POWER (Transact-SQL)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse Analytics AnalyticsPlatform System (PDW)Titik akhir analitik SQL di Microsoft FabricWarehouse di Microsoft Fabric

Mengembalikan nilai dari ekspresi yang ditentukan ke daya yang ditentukan.

Konvensi sintaks transact-SQL

Sintaksis

POWER ( float_expression , y )  

Catatan

Untuk melihat sintaks Transact-SQL untuk SQL Server 2014 (12.x) dan versi 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 Kembalian

Jenis pengembalian tergantung pada jenis input float_expression:

Jenis input Jenis Pengembalian
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

J. 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 hasil yang ditetapkan.

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 hasil POWER 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 real (Transact-SQL)
int, bigint, smallint, dan tinyint (Transact-SQL)
Fungsi Matematika (SQL Transact)
uang dan smallmoney (Transact-SQL)