Функция SQL Server SQRT()

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

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

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

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

SQRT(number)

В этом синтаксисе число может быть числом с плавающей точкой или любым числом, которое может быть неявно преобразовано в число с плавающей точкой. Также это может быть числовое выражение.

Функция SQRT() возвращает квадратный корень числа с типом float. Она возвращает NULL, если число равно NULL.

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

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

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

В следующем операторе функция SQRT() используется для возврата квадратного корня из 16:

SELECT SQRT(16) AS result;

Результат:

result
------
4.0

Запрос возвращает 4,0 как квадратный корень из 16.

2) Использование функции SQRT() для расчета расстояния

Сначала создадим таблицу с именем «координаты», в которой будут храниться координаты x и y точек в двумерном пространстве:

CREATE TABLE coordinates(
    id INT IDENTITY PRIMARY KEY,
    x NUMERIC,
    y NUMERIC,
    UNIQUE(x, y)
);

Во-вторых, вставьте несколько строк в таблицу координат:

INSERT INTO coordinates(x, y) 
VALUES
   (2, 3),
   (-1, 7),
   (0, 0),
   (9, -5),
   (-2.5, 3.5);

В-третьих, извлеките данные из таблицы координат:

SELECT
  id,
  x,
  y
FROM
  coordinates;

Выход:

id | x  | y
---+----+----
5  | -3 | 4
2  | -1 | 7
3  | 0  | 0
1  | 2  | 3
4  | 9  | -5
(5 rows)

Наконец, вычислите расстояние каждой точки от начала координат(0,0) с помощью функции SQRT():

SELECT
  SQRT(x * x + y * y) AS distance
FROM
  coordinates;

Выход:

distance
--------------------
5.0
7.0710678118654755
0.0
3.605551275463989
10.295630140987
(5 rows)

Чтобы сделать результат более читаемым, можно использовать функцию ROUND() для округления расстояний до чисел с двойной точностью и функцию CAST() для приведения их к числу с двумя десятичными знаками.

SELECT
  CAST(ROUND(SQRT(x * x + y * y), 2) AS DEC(5, 2)) AS distance
FROM
  coordinates;

Выход:

distance
--------
5.00
7.07
0.00
3.61
10.30
(5 rows)

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

  • Используйте функцию SQL Server SQRT() для вычисления квадратного корня числа.
Мирослав С.

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