Ms sql возведение в степень

Функция SQL Server POWER (x, y ) возводит x в степень y.

x является выражением типа FLOAT , или типа, неявно приводимого к FLOAT.

y — выражение числового типа.

Возвращаемое значение имеет тип выражения x.

Функция SQRT (x) вычисляет корень квадратный из x, при этом x является выражением типа FLOAT, или неявно приводимого к нему. Результат имеет тип FLOAT.

Функция SQRT является обратной к функции POWER(x,2), т.е. SQRT(POWER(x,2)) должна возвращать x.

Здравствуйте, уважаемые читатели блога webcodius.ru. Сегодня продолжим изучение баз данных, а именно пройдемся по математическим функциям языка sql. Использование математических функций sql поможет перенести часть логики приложения с web-сервера на сервер базы данных, тем самым разгрузив web-сервер на который обычно ложится основная нагрузка.

Сразу отмечу, что в случае ошибки все математические функции возвращают NULL. Итак, перейдем к делу.

Знаки числа

Начнем с функции ABS (x), которая возвращает абсолютное значение переданного ей числа x. Пример:

SELECT ABS (-5)
Результат: 5
SELECT ABS (5)
Результат: 5

Знак числа можно определить с помощью функции SIGN (x) . Функция возвращает -1 если x отрицательное число, 1 если положительное и 0 если x является нулем. Пример:

SELECT SIGN (-5)
Результат: -1
SELECT SIGN (0)
Результат: 0
SELECT SIGN (5)
Результат: 1

Округление чисел

Начнем с функции FLOOR (x). Возвращает ближайшее целое число не превышающее x. Пример:

SELECT FLOOR (5.5)
Результат: 5
SELECT FLOOR (5.2)
Результат: 5
SELECT FLOOR (5.7)
Результат: 5
SELECT FLOOR (5)
Результат: 5
SELECT FLOOR (-5.2)
Результат: -6

Как видно, при задании любого положительного дробного числа от 5 до 6 возвращается целое число 5. А при передаче параметра -5.2 вернется -6, так как -6 меньше -5.2.

Обратное действие выполняет функция CEILING (x) . Она возвращает ближайшее целое число, которое превышает переданный параметр x. Пример:

SELECT CEILING (5.5)
Результат: 6
SELECT CEILING (5.2);
Результат: 6
SELECT CEILING (5.7)
Результат: 6
SELECT CEILING (5)
Результат: 5
SELECT CEILING (-5.5)
Результат: -5

Для округления дробного числа до ближайшего целого используется функция ROUND (x, d). Функция может принимать один или два параметра. Первый параметр x — число, которое необходимо округлить. Второй параметр d — целое число, определяющее разряд до которого необходимо округлить x. В случае если передан один параметр x, то происходит просто округление до ближайшего целого. Например:

SELECT ROUND (50.45)
Результат: 50
SELECT ROUND (50.76)
Результат: 51

При значении аргумента, равного середине между двумя целыми числами, результат будет зависеть от конкретной СУБД, где используется язык SQL.

Если в функцию передан второй параметр, то после запятой останется столько знаков сколько указано в параметре. Например, если после запятой необходимо оставить один символ, то в качестве второго параметра указываем цифру 1:

SELECT ROUND (50.76, 1)
Результат: 50,8

Существует возможность округлять число до любого разряда до запятой, для этого просто вторым параметром указываем отрицательное число. Например:

SELECT ROUND (251.55, -1)
Результат: 250

В SQL еще имеется функция, которая не округляет, а отсекает десятичную часть дробного числа. Функция TRUNCATE (x, y) возвращает число x, усеченное до y десятичных знаков:

SELECT TRUNCATE (1.999, 1)

SELECT TRUNCATE (1.999, 0)

Функции выполняющие сложные математические операции

Начнем с самого простого. Функция MOD (x, y) возвращает остаток от деления x на y. Например:

SELECT MOD (10, 3)
Результат: 1

Следующая функция EXP (x), которая возвращает значение e (Число Эйлера) возведенное в степень x. Или научным языком, возвращает экспоненту числа. Пример:

SELECT EXP (3)
Результат: 20.085536923187668

Далее рассмотрим функцию LOG (x), которая возвращает натуральный логарифм числа x. Пример:

SELECT LOG (10)
Результат: 2.302585092994046

Для получения логарифма числа x, для произвольной основы логарифма y можно пользоваться формулой LOG (x)/LOG (y). Например:

SELECT LOG (8)/LOG (2)
Результат: 3

Для получения десятичного логарифма числа x существует функция LOG10 (x). Пример:

SELECT LOG10 (100)
Результат: 2

Для возведения в степень в языке SQL есть целых две функции: POW (x, y) и POWER (x, y). Возвращают число x возведенное в степень y. Пример:

SELECT POW (2, 3)
Результат: 8
SELECT POWER (3, 2)
Результат: 9

А функция SQRT (x) вычисляет квадратный корень числа x. Пример:

SELECT SQRT (16)
Результат: 4

Чтобы использовать в своих вычисления число «пи» в SQL есть функция PI (), которая возвращает значение этого числа:

SELECT PI ()
Результат: 3.141593

Тригонометрические функции в языке SQL

Кратенько пройдемся по тригонометрическим функциям:

  • COS (x) — косинус угла x;
  • SIN (x) — синус угла x;
  • TAN (x) — тангенс угла x;
  • COT (x) — котангенс угла x.

Везде x задается в радианах. Примеры:

SELECT COS (PI ())
Результат: -1
SELECT SIN (PI ()/2)
Результат: 1
SELECT TAN (PI ()/4)
Результат: 1
SELECT COT (PI ()/3)
Результат: 0.577350269189626

Функции ACOS (x) и ASIN (x) вычисляют соответственно арккосинус и арксинус числа x, т.е. функции возвращают величину, косинус или синус которой равен x. При этом если значение x не находится в диапазоне от -1 до 1, то функции возвращают NULL. Например:

SELECT ASIN (-1)
Результат: -1.5707963267949
SELECT ACOS (-1)
Результат: 3.14159265358979
SELECT ACOS (1.1)
Результат: NULL

Функция ATAN (x) вычисляет арктангенс числа x, т.е. возвращает величину, тангенс которой равен x. Пример:

SELECT ATAN (3);
Результат: 1.24904577239825

Для преобразования радиан в градусы и обратно используются функции DEGREES (x) и RADIANS (x) соответственно:

SELECT DEGREES (PI ())
Результат: 180
SELECT RADIANS (180)
Результат: 3.14

Случайные числа

Функция RAND (x) генерирует случайное значение в диапазоне от 0 до 1. Если указан аргумент x, то он используется как начальное значение этой величины. Пример:

SELECT RAND ();
Результат:0.472241415009636
SELECT RAND (0.5);
Результат: 0.943597390424144

На этом все. Вроде рассмотрел все часто используемые в SQL математические функции. Возможно вам будет интересно узнать и о функциях обработки строк в SQL.

ОБЛАСТЬ ПРИМЕНЕНИЯ: SQL Server База данных SQL Azure Azure Synapse Analytics (хранилище данных SQL) Parallel Data Warehouse APPLIES TO: SQL Server Azure SQL Database Azure Synapse Analytics (SQL DW) Parallel Data Warehouse

возвращает значение указанного выражения, возведенное в заданную степень. Returns the value of the specified expression to the specified power.

Синтаксические обозначения в Transact-SQL Transact-SQL Syntax Conventions

Синтаксис Syntax

Аргументы Arguments

float_expression float_expression
Выражение типа float или типа, который может быть неявно преобразован в тип float. Is an expression of type float or of a type that can be implicitly converted to float.

y y
Степень, в которую возводится аргумент float_expression. Is the power to which to raise float_expression. y — выражение категории точного числового или приблизительного числового типа данных, за исключением типа данных bit. y can be an expression of the exact numeric or approximate numeric data type category, except for the bit data type.

Типы возвращаемых данных Return Types

Тип возвращаемого значения зависит от типа входных данных float_expression: The return type depends on the input type of float_expression:

Входной тип Input typeВозвращаемый тип Return type
float, real float, realfloat float
decimal(p, s) decimal(p, s)decimal(38, s) decimal(38, s)
int, smallint, tinyint int, smallint, tinyintint int
bigint bigintbigint bigint
money, smallmoney money, smallmoneymoney money
bit, char, nchar, varchar, nvarchar bit, char, nchar, varchar, nvarcharfloat float

Если результат по размеру не соответствует типу возвращаемого значения, происходит ошибка арифметического переполнения. If the result does not fit in the return type, an arithmetic overflow error occurs.

Примеры Examples

A. A. Использование функции POWER для возврата куба числа Using POWER to return the cube of a number

Следующий пример демонстрирует возведение числа в степень 3 (в куб). The following example demonstrates raising a number to the power of 3 (the cube of the number).

Результирующий набор: Here is the result set.

Б. B. Использование функции POWER для вывода результатов преобразования типов данных Using POWER to show results of data type conversion

В приведенном ниже примере показано, как float_expression сохраняет тип данных, который может возвращать непредвиденные результаты. The following example shows how the float_expression preserves the data type which can return unexpected results.

Результирующий набор: Here is the result set.

В. C. Применение функции POWER Using POWER

В следующем примере показаны результаты применения функции POWER для 2 . The following example returns POWER results for 2 .

Результирующий набор: Here is the result set.

Примеры: Azure Synapse Analytics (хранилище данных SQL) Azure Synapse Analytics (SQL DW) и Параллельное хранилище данных Parallel Data Warehouse Examples: Azure Synapse Analytics (хранилище данных SQL) Azure Synapse Analytics (SQL DW) and Параллельное хранилище данных Parallel Data Warehouse

Г. Использование функции POWER для возврата куба числа D: Using POWER to return the cube of a number

В приведенном ниже примере показано, как функция POWER возвращает значение 2.0 , возведенное в третью степень. The following example shows returns POWER results for 2.0 to the 3rd power.

Результирующий набор: Here is the result set.

Оцените статью
Много толка
Добавить комментарий