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


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

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

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

Синтаксис

expression - expression

Аргументы

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

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

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

Примеры

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

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

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

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

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

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

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

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

Subtract Date

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

1900-01-08 15:00:00.000

(1 row(s) affected)