Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punkt końcowy analizy SQL w usłudze Microsoft Fabric
Hurtownia danych w usłudze Microsoft Fabric
Baza danych SQL w usłudze Microsoft Fabric
Zwraca wartość określonego wyrażenia do podanej potęgi.
Transact-SQL konwencje składni
Składnia
POWER ( float_expression , y )
Arguments
float_expression
Jest wyrażeniem typu float lub typu, który można niejawnie przekształcić w float.
y
Jest siłą, do której można podnieść float_expression.
y może być wyrażeniem dokładnej kategorii numerycznego lub przybliżonego numerycznego typu danych, z wyjątkiem typu danych bitowego .
Typy zwracane
Typ zwrotu zależy od typu wejścia float_expression:
| Typ danych wejściowych | Typ zwracany |
|---|---|
| Float, real | float |
| dziesiętny (p, s) | dziesiętny(38, s) |
| int, smallint, tinyint | int |
| bigint | bigint |
| money, smallmoney | pieniędzy |
| Bit, char, nchar, varchar, nvarchar | float |
Jeśli wynik nie pasuje do typu zwrotu, występuje błąd przelewu arytmetycznego.
Przykłady
A. Używając POWER do zwrotu sześcianu liczby
Poniższy przykład pokazuje podniesienie liczby do potęgi 3 (sześcianu tej liczby).
DECLARE @input1 FLOAT;
DECLARE @input2 FLOAT;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;
Oto zestaw wyników.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Wykorzystanie POWER do prezentacji wyników konwersji typów danych
Poniższy przykład pokazuje, jak float_expression zachowuje typ danych, który może zwracać nieoczekiwane wyniki.
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
Oto zestaw wyników.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
C. Wykorzystanie POWER
Poniższy przykład zwraca POWER wyniki dla 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
Oto zestaw wyników.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Przykłady: Azure Synapse Analytics and Analytics Platform System (PDW)
D: Używanie POWER do zwrotu sześcianu liczby
Poniższy przykład pokazuje wyniki POWER dla 2.0 do potęgi trzeciej.
SELECT POWER(2.0, 3);
Oto zestaw wyników.
------------
8.0
Zobacz też
dziesiętne i liczbowe (Transact-SQL)
float i real (Transact-SQL)
int, bigint, smallint i tinyint (Transact-SQL)
Funkcje matematyczne (Transact-SQL)
Pieniądze i drobne pieniądze (Transact-SQL)