POWER (SQL Transact)
Berlaku untuk:
SQL Server (semua versi yang didukung)
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Mengembalikan nilai dari ekspresi yang ditentukan ke daya yang ditentukan.
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)
