Для работы с числовыми данными T-SQL предоставляет ряд функций:
- ROUND: округляет число. В качестве первого параметра передается число. Второй параметр указывает на длину. Если длина представляет положительное число, то оно указывает, до какой цифры после запятой идет округление. Если длина представляет отрицательное число, то оно указывает, до какой цифры с конца числа до запятой идет округление12
SELECT
ROUND(1342.345, 2)
-- 1342.350
SELECT
ROUND(1342.345, -2)
-- 1300.000
ISNUMERIC: определяет, является ли значение числом. В качестве параметра функция принимает выражение. Если выражение является числом, то функция возвращает 1. Если не является, то возвращается 0.
1
2
3
4
| SELECT ISNUMERIC(1342.345) -- 1 SELECT ISNUMERIC( '1342.345' ) -- 1 SELECT ISNUMERIC( 'SQL' ) -- 0 SELECT ISNUMERIC( '13-04-2017' ) -- 0 |
ABS: возвращает абсолютное значение числа.
1
| SELECT ABS (-123) -- 123 |
CEILING: возвращает наименьшее целое число, которое больше или равно текущему значению.
1
2
| SELECT CEILING(-123.45) -- -123 SELECT CEILING(123.45) -- 124 |
FLOOR: возвращает наибольшее целое число, которое меньше или равно текущему значению.
1
2
| SELECT FLOOR(-123.45) -- -124 SELECT FLOOR(123.45) -- 123 |
SQUARE: возводит число в квадрат.
1
| SELECT SQUARE(5) -- 25 |
SQRT: получает квадратный корень числа.
1
| SELECT SQRT(225) -- 15 |
RAND: генерирует случайное число с плавающей точкой в диапазоне от 0 до 1.
1
2
| SELECT RAND() -- 0.707365088352935 SELECT RAND() -- 0.173808327956812 |
COS: возвращает косинус угла, выраженного в радианах
1
| SELECT COS(1.0472) -- 0.5 - 60 градусов |
SIN: возвращает синус угла, выраженного в радианах
1
| SELECT SIN(1.5708) -- 1 - 90 градусов |
TAN: возвращает тангенс угла, выраженного в радианах
1
| SELECT TAN(0.7854) -- 1 - 45 градусов |
Например, возьмем таблицу:
1
2
3
4
5
6
7
8
| CREATE TABLE Products ( Id INT IDENTITY PRIMARY KEY , ProductName NVARCHAR(30) NOT NULL , Manufacturer NVARCHAR(20) NOT NULL , ProductCount INT DEFAULT 0, Price MONEY NOT NULL ); |
Округлим произведение цены товара на количество этого товара:
1
2
| SELECT ProductName, ROUND(Price * ProductCount, 2) FROM Products |
Комментариев нет:
Отправить комментарий