Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к:SQL Server
База данных Azure SQL
Управляемый экземпляр Azure SQL
Azure Synapse Analytics
Система платформы аналитики (PDW)
Конечная точка аналитики SQL в Microsoft Fabric
Хранилище в Microsoft Fabric
База данных SQL в предварительном просмотре Microsoft Fabric
Вычитает одно число из другого (оператор арифметического вычитания). Также можно вычесть из даты определенное число дней.
Соглашения о синтаксисе Transact-SQL
Syntax
expression - expression
Arguments
expression
Любое допустимое выражение любого из типов данных категории числовых типов данных, за исключением битового типа данных. Нельзя использовать с типами данных date, time, datetime2 или datetimeoffset .
Return types
Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе "Приоритет типа данных".
Examples
Примеры кода в этой статье используют базу данных образца AdventureWorks2022
или AdventureWorksDW2022
, которую можно скачать с домашней страницы образцов и проектов сообщества Microsoft SQL Server и.
A. Использование вычитания в инструкции SELECT
В следующем примере вычисляется разница в налоговой ставке между государством или провинцией с самой высокой налоговой ставкой и государством или провинцией с самой низкой налоговой ставкой.
Область применения: SQL Server и База данных SQL.
SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference'
FROM Sales.SalesTaxRate
WHERE StateProvinceID IS NOT NULL;
GO
Можно изменить порядок выполнения, используя скобки. Сначала производятся вычисления выражений в скобках. В случае вложенных скобок вычисления начинаются с самого глубокого уровня.
B. Использование вычитания даты
В следующем примере вычитается несколько дней из даты и времени .
Применимо к: SQL Server и База данных SQL.
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
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
C. Использование вычитания в инструкции SELECT
В следующем примере вычисляется разница базовых окладов между сотрудником с наибольшим базовым окладом и сотрудником с наименьшей налоговой ставкой из таблицы dimEmployee
.
SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference
FROM DimEmployee;