-(减)(Transact-SQL)

将两个数相减(减法算术运算符)。 还可以从日期中减去以天为单位的数字。

适用范围:SQL Server(SQL Server 2008 至当前版本),Windows Azure SQL Database(初始版本至当前版本)。

主题链接图标 Transact-SQL 语法约定

语法

-- Core Syntax (common to SQL Server and SQL Database)
expression - expression

参数

  • expression
    数值数据类型类别的任一数据类型(bit 数据类型除外)的任何有效表达式。 无法用于 date、time、datetime2 或 datetimeoffset 数据类型。

结果类型

返回优先级较高的参数的数据类型。 有关详细信息,请参阅数据类型优先级 (Transact-SQL)

示例

A.在 SELECT 语句中使用减法

以下示例计算税率最高的省/市/自治区与税率最低的省/市/自治区之间的税率差异。

适用范围:SQL Server 和 SQL Database。

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

可以使用括号更改执行顺序。 将首先执行括号内的计算。 如果括号有嵌套,则最内层的计算优先。

B.使用日期减法

下面的示例从 datetime 日期中减去几天。

适用范围:SQL Server 和 SQL Database。

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

请参阅

参考

算术运算符 (Transact-SQL)

-(负)(Transact-SQL)

数据类型 (Transact-SQL)

表达式(Transact-SQL)

内置函数 (Transact-SQL)

SELECT (Transact-SQL)

-=(减等于)(Transact-SQL)

复合运算符 (Transact-SQL)