Функция POWER() SQL-сервера

В этом руководстве вы узнаете, как использовать функцию POWER() SQL Server для возведения числа в определенную степень.

Введение в функцию POWER() SQL Server

Функция POWER() — мощная математическая функция, которая позволяет возводить число в определенную степень.

Ниже показан синтаксис функции POWER():

POWER(base, exponent)

В этом синтаксисе:

  • основание: укажите базовое число с типом float или типом, который может быть неявно преобразован в float.
  • показатель степени: Укажите показатель степени, в которую необходимо возвести основание числа.

Функция POWER() возвращает число, представляющее собой результат возведения основания в степень.

Тип возвращаемого значения функции POWER() зависит от типа базового числа.

В следующей таблице показаны базовый номер и соответствующий тип возвращаемого значения:

Тип базового числа Тип возврата
плавающий, реальный плавать
десятичная дробь(п, с) десятичная(38, с)
int, smallint, tinyint инт
bigint bigint
деньги, маленькиеденьги деньги
бит, символ, nchar, varchar, nvarchar плавать

Если основание или показатель степени равны NULL, функция POWER() возвращает NULL.

Примеры функций SQL Server POWER()

Давайте рассмотрим несколько примеров использования функции POWER().

1) Примеры базовой функции POWER()

Следующий оператор использует функцию POWER() для возведения числа 3 в степень 4:

SELECT POWER(3,4) result;

Выход:

result
------
81

Аналогично можно использовать функцию POWER() с десятичными значениями:

SELECT POWER(1.5, 2) result;

Выход:

result
------
2.3

2) Использование функции POWER() с дробным показателем степени

Следующий оператор использует функцию POWER() для возведения числа 2,5 в степень 1,5:

SELECT POWER(2.0, 1.5) result;

Выход:

result
------
2.8

Возвращаемое значение является приблизительным, но не точным.

Если вы используете базовое число как целое число, вы получите результат как целое число. Например:

SELECT POWER(2, 1.5) result;

Выход:

result
------
2

3) Использование функции POWER() с переменными

В следующем примере используется функция POWER() для расчетасложных процентов :

-- Initial investment
DECLARE @Principal MONEY = 1000;
-- Annual interest rate(5%)
DECLARE @AnnualInterestRate FLOAT = 0.05;
-- Compounded yearly
DECLARE @CompoundingPeriodsPerYear INT = 1;
-- Years of investment
DECLARE @Years INT = 10;
-- Compound interest
DECLARE @CompoundInterest MONEY;
-- Calculate compound interest
SET
  @CompoundInterest = @Principal * POWER(
   (
      1 +(@AnnualInterestRate / @CompoundingPeriodsPerYear)
    ),
   (@CompoundingPeriodsPerYear * @Years)
  );
PRINT 'Compound Interest: ' + CONVERT(VARCHAR(20), @CompoundInterest);

Выход:

Compound Interest: 1628.89

Как это работает.

Сначала объявите переменные, в которых хранятся первоначальные инвестиции, годовая процентная ставка, годовой период начисления сложных процентов, годы инвестиций и сложные проценты:

-- Initial investment
DECLARE @Principal MONEY = 1000;
-- Annual interest rate(5%)
DECLARE @AnnualInterestRate FLOAT = 0.05;
-- Compounded yearly
DECLARE @CompoundingPeriodsPerYear INT = 1;
-- Years of investment
DECLARE @Years INT = 10;
-- Compound interest
DECLARE @CompoundInterest MONEY;

Во-вторых, используйте функцию POWER() для расчета сложных процентов:

-- Calculate compound interest
SET
  @CompoundInterest = @Principal * POWER(
   (
      1 +(@AnnualInterestRate / @CompoundingPeriodsPerYear)
    ),
   (@CompoundingPeriodsPerYear * @Years)
  );

В-третьих, отобразите сложный процент:

PRINT 'Compound Interest: ' + CONVERT(VARCHAR(20), @CompoundInterest);

Краткое содержание

  • Используйте функцию POWER(), чтобы возвести число в определенную степень.
Мирослав С.

Автор статей, ИБ-специалист