В этом уроке вы узнаете, как использовать функцию 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() для вычисления квадратного корня числа.