Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL-Analyseendpunkt in Microsoft Fabric
Lagerhaus in Microsoft Fabric
SQL-Datenbank 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 |
|---|---|
| schweben, echt | float |
| Dezimal(p, s) | Dezimal(38, s) |
| int, smallint, tinyint | int |
| bigint | bigint |
| Geld, 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)