Поделиться через


- (Вычитание) (Transact-SQL)

Вычитает одно число из другого (оператор арифметического вычитания). Также можно вычесть из даты определенное число дней.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

expression - expression

Аргументы

  • expression
    Любое верное выражение любого типа данных из категории числовых типов данных, за исключением типа данных bit. Не может быть использовано с типами данных даты и времени.

Типы результата

Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).

Примеры

A. Использование вычитания в инструкции SELECT

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

USE AdventureWorks;
GO
SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO

Можно изменить порядок выполнения, используя скобки. Сначала производятся вычисления выражений в скобках. В случае вложенных скобок вычисления начинаются с самого глубокого уровня.

Б. Использование вычитания из даты

Следующий пример вычитает несколько дней из даты datetime.

USE AdventureWorks;
GO
DECLARE @altstartdate datetime;
SET @altstartdate = CONVERT(DATETIME, 'January 10, 1900 3:00 AM', 101);
SELECT @altstartdate - 1.5 AS 'Subtract Date';

Результирующий набор следующий:

Вычитание даты

-----------------------

1900-01-08 15:00:00.000

(Обработано строк: 1)