Функции для работы с числами

Последнее обновление: 29.07.2017

Для работы с числовыми данными T-SQL предоставляет ряд функций:

  • ROUND: округляет число. В качестве первого параметра передается число. Второй параметр указывает на длину. Если длина представляет положительное число, то оно указывает, до какой цифры после запятой идет округление. Если длина представляет отрицательное число, то оно указывает, до какой цифры с конца числа до запятой идет округление

    SELECT ROUND(1342.345, 2)	-- 1342.350
    SELECT ROUND(1342.345, -2)	-- 1300.000
    
  • ISNUMERIC: определяет, является ли значение числом. В качестве параметра функция принимает выражение. Если выражение является числом, то функция возвращает 1. Если не является, то возвращается 0.

    SELECT ISNUMERIC(1342.345)			-- 1
    SELECT ISNUMERIC('1342.345')		-- 1
    SELECT ISNUMERIC('SQL')			-- 0
    SELECT ISNUMERIC('13-04-2017')	-- 0
    
  • ABS: возвращает абсолютное значение числа.

    SELECT ABS(-123)	-- 123
  • CEILING: возвращает наименьшее целое число, которое больше или равно текущему значению.

    SELECT CEILING(-123.45)		-- -123
    SELECT CEILING(123.45)		-- 124
    
  • FLOOR: возвращает наибольшее целое число, которое меньше или равно текущему значению.

    SELECT FLOOR(-123.45)		-- -124
    SELECT FLOOR(123.45)		-- 123
    
  • SQUARE: возводит число в квадрат.

    SELECT SQUARE(5)		-- 25
  • SQRT: получает квадратный корень числа.

    SELECT SQRT(225)		-- 15
  • RAND: генерирует случайное число с плавающей точкой в диапазоне от 0 до 1.

    SELECT RAND()		-- 0.707365088352935
    SELECT RAND()		-- 0.173808327956812
    
  • COS: возвращает косинус угла, выраженного в радианах

    SELECT COS(1.0472)	-- 0.5 - 60 градусов
    
  • SIN: возвращает синус угла, выраженного в радианах

    SELECT SIN(1.5708)	-- 1 - 90 градусов
    
  • TAN: возвращает тангенс угла, выраженного в радианах

    SELECT TAN(0.7854)	-- 1 - 45 градусов
    

Например, возьмем таблицу:

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
);

Округлим произведение цены товара на количество этого товара:

SELECT ProductName, ROUND(Price * ProductCount, 2)
FROM Products
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850