POWER (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse in Microsoft Fabric
Gibt den Wert des angegebenen Ausdrucks gemäß der angegebenen Potenz zurück.
Transact-SQL-Syntaxkonventionen
Syntax
POWER ( float_expression , y )
Argumente
float_expression
Ein Ausdruck vom Typ float oder von einem Typ, der implizit in float konvertiert werden kann.
y
Die Potenz, in die float_expression erhoben werden soll. y kann ein Ausdruck der genauen numerischen oder ungefähren numerischen Datentypkategorie sein, mit Ausnahme des bit-Datentyps.
Rückgabetypen
Der Rückgabetyp hängt vom Eingabetyp von float_expression ab:
Eingabetyp | Rückgabetyp |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit, char, nchar, varchar, nvarchar | float |
Wenn das Ergebnis nicht zum Rückgabetyp passt, wird ein Fehler durch einen arithmetischen Überlauf ausgelöst.
Beispiele
A. Rückgabe der Kubikwurzel einer Zahl mit POWER
Im folgenden Beispiel wird das Potenzieren einer Zahl mit 3 (der Kubikwurzel der Zahl) veranschaulicht.
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 sehen Sie das Ergebnis.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Anzeigen der Ergebnisse einer Datentypkonvertierung mit POWER
Im folgenden Beispiel wird veranschaulicht, wie der Datentyp von float_expression beibehalten wird, was zu unerwarteten Ergebnissen führen kann.
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 sehen Sie das Ergebnis.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. Verwenden von POWER
Das folgende Beispiel gibt POWER
-Ergebnisse für 2
zurück.
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 sehen Sie das Ergebnis.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Beispiele: Azure Synapse Analytics und Analytics-Plattformsystem (PDW)
D: Rückgabe des Cubes einer Zahl mit POWER
Im folgenden Beispiel wird die Rückgabe von POWER
-Ergebnissen für 2.0
an die dritte Potenz dargestellt.
SELECT POWER(2.0, 3);
Hier sehen Sie das Ergebnis.
------------
8.0
Weitere Informationen
decimal und numeric (Transact-SQL)
float und real (Transact-SQL)
int, bigint, smallint und tinyint (Transact-SQL)
Mathematische Funktionen (Transact-SQL)
money und smallmoney (Transact-SQL)