Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Geeft de waarde van de gespecificeerde uitdrukking terug aan de gespecificeerde macht.
Transact-SQL syntaxis-conventies
Syntaxis
POWER ( float_expression , y )
Arguments
float_expression
Is een uitdrukking van het type float of van een type dat impliciet kan worden omgezet in float.
y
Is de kracht waartoe je float_expression moet opvoeden.
y kan een uitdrukking zijn van de exacte numerieke of benaderende numerieke datatypecategorie, behalve voor het bitdatatype .
Retourtypen
Het retourtype hangt af van het invoertype van float_expression:
| Invoertype | Resultaattype |
|---|---|
| Float, echt | float |
| Decimaal(P, S) | Decimaal(38, s) |
| int, smallint, tinyint | int |
| bigint | bigint |
| geld, smallmoney | geld |
| bit, char, nchar, varchar, nvarchar | float |
Als het resultaat niet in het retourtype past, treedt er een rekenkundige overloopfout op.
Voorbeelden
Eén. POWER gebruiken om de kubus van een getal terug te geven
Het volgende voorbeeld toont aan hoe een getal wordt verhoogd tot de macht van 3 (de kubus van het getal).
DECLARE @input1 FLOAT;
DECLARE @input2 FLOAT;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;
Hier is het resultatenoverzicht.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. POWER gebruiken om resultaten van datatypeconversie te tonen
Het volgende voorbeeld laat zien hoe de float_expression het datatype bewaart dat onverwachte resultaten kan opleveren.
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
Hier is het resultatenoverzicht.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. POWER gebruiken
Het volgende voorbeeld geeft resultaten voor POWER2.
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
Hier is het resultatenoverzicht.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Voorbeelden: Azure Synapse Analytics and Analytics Platform System (PDW)
D: POWER gebruiken om de kubus van een getal terug te geven
Het volgende voorbeeld toont resultaten voor 2.0 tot POWER de derde macht.
SELECT POWER(2.0, 3);
Hier is het resultatenoverzicht.
------------
8.0
Zie ook
decimaal en numeriek (Transact-SQL)
drijvend en echt (Transact-SQL)
int, bigint, smallint en tinyint (Transact-SQL)
Wiskundige functies (Transact-SQL)
geld en smallmoney (Transact-SQL)