POWER (Transact-SQL)
Область применения: SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure конечной точке аналитики платформы Аналитики Azure Synapse Analytics (PDW) в Microsoft Fabric Хранилище в Microsoft Fabric
Возвращает значение определенного выражения в определенной степени.
Соглашения о синтаксисе Transact-SQL
Синтаксис
POWER ( float_expression , y )
Аргументы
float_expression
Выражение типа float или типа, который может быть неявно преобразован в тип float.
г
Степень, в которую возводится аргумент float_expression. y — выражение категории точного числового или приблизительного числового типа данных, за исключением типа данных bit.
Типы возвращаемых данных
Тип возвращаемого значения зависит от типа входных данных float_expression:
Тип Ввода | Возвращаемый тип |
---|---|
float, real | float |
decimal(p, s) | decimal(38, s) |
int, smallint, tinyint | int |
bigint | bigint |
money, smallmoney | money |
bit, char, nchar, varchar, nvarchar | float |
Если результат по размеру не соответствует типу возвращаемого значения, происходит ошибка арифметического переполнения.
Примеры
А. Использование функции POWER для возврата куба числа
Следующий пример демонстрирует возведение числа в степень 3 (в куб).
DECLARE @input1 FLOAT;
DECLARE @input2 FLOAT;
SET @input1= 2;
SET @input2 = 2.5;
SELECT POWER(@input1, 3) AS Result1, POWER(@input2, 3) AS Result2;
Вот результирующий набор.
Result1 Result2
---------------------- ----------------------
8 15.625
(1 row(s) affected)
B. Использование функции POWER для вывода результатов преобразования типов данных
В приведенном ниже примере показано, как float_expression сохраняет тип данных, который может возвращать непредвиденные результаты.
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
Вот результирующий набор.
FloatResult IntegerResult IntegerResult Decimal1Result Decimal2Result Decimal2Result
---------------------- ------------- ------------- -------------- -------------- --------------
7.88860905221012E-31 0 0 0.0 0.00 0.00
В. Применение функции POWER
В следующем примере показаны результаты применения функции POWER
для 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
Вот результирующий набор.
-----------
2
(1 row(s) affected)
-----------
4
(1 row(s) affected)
-----------
8
(1 row(s) affected)
-----------
16
(1 row(s) affected)
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Г. Использование функции POWER для возврата куба числа
В приведенном ниже примере показано, как функция POWER
возвращает значение 2.0
, возведенное в третью степень.
SELECT POWER(2.0, 3);
Вот результирующий набор.
------------
8.0
См. также
десятичная и числовая (Transact-SQL)
float и real (Transact-SQL)
int, bigint, smallint и tinyint (Transact-SQL)
Математические функции (Transact-SQL)
money and smallmoney (Transact-SQL)