适用于: SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW) Microsoft Fabric 中的 SQL 终结点 Microsoft Fabric 中的仓库
将两个数相减(减法算术运算符)。 还可以从日期中减去以天为单位的数字。
Transact-SQL 语法约定
expression - expression 若要查看 SQL Server 2014 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。 expression 数值数据类型类别的任一数据类型(bit 数据类型除外)的任何有效表达式。 不能与 date、time、datetime2 或 datetimeoffset 数据类型一起使用。 返回优先级较高的参数的数据类型。 有关详细信息,请参阅数据类型优先级 (Transact-SQL)。 A. 在 SELECT 语句中使用减法 以下示例计算税率最高的省/市/自治区与税率最低的省/市/自治区之间的税率差异。 适用范围:SQL Server 和 SQL 数据库。 -- Uses AdventureWorks SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference' FROM Sales.SalesTaxRate WHERE StateProvinceID IS NOT NULL; 可以使用括号更改执行顺序。 将首先执行括号内的计算。 如果括号有嵌套,则最内层的计算优先。 B. 使用日期减法 以下示例从 datetime 日期中减去天数。 适用范围:SQL Server 和 SQL 数据库。 -- Uses the AdventureWorks sample database 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) 示例:Azure Synapse Analytics 和 Analytics Platform System (PDW) C. 在 SELECT 语句中使用减法 以下示例计算 dimEmployee 表中,基准费率最高的员工与基准费率最低的员工之间的基准费率差。 -- Uses AdventureWorks SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference FROM DimEmployee; -=(减法赋值)(Transact-SQL) 复合运算符 (Transact-SQL) 算术运算符 (Transact-SQL) -(负)(Transact-SQL) 数据类型 (Transact-SQL) 表达式(Transact-SQL) 内置函数 (Transact-SQL) SELECT (Transact-SQL)
若要查看 SQL Server 2014 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。
expression 数值数据类型类别的任一数据类型(bit 数据类型除外)的任何有效表达式。 不能与 date、time、datetime2 或 datetimeoffset 数据类型一起使用。
返回优先级较高的参数的数据类型。 有关详细信息,请参阅数据类型优先级 (Transact-SQL)。
以下示例计算税率最高的省/市/自治区与税率最低的省/市/自治区之间的税率差异。
适用范围:SQL Server 和 SQL 数据库。
-- Uses AdventureWorks SELECT MAX(TaxRate) - MIN(TaxRate) AS 'Tax Rate Difference' FROM Sales.SalesTaxRate WHERE StateProvinceID IS NOT NULL; 可以使用括号更改执行顺序。 将首先执行括号内的计算。 如果括号有嵌套,则最内层的计算优先。 B. 使用日期减法 以下示例从 datetime 日期中减去天数。 适用范围:SQL Server 和 SQL 数据库。 -- Uses the AdventureWorks sample database 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) 示例:Azure Synapse Analytics 和 Analytics Platform System (PDW) C. 在 SELECT 语句中使用减法 以下示例计算 dimEmployee 表中,基准费率最高的员工与基准费率最低的员工之间的基准费率差。 -- Uses AdventureWorks SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference FROM DimEmployee; -=(减法赋值)(Transact-SQL) 复合运算符 (Transact-SQL) 算术运算符 (Transact-SQL) -(负)(Transact-SQL) 数据类型 (Transact-SQL) 表达式(Transact-SQL) 内置函数 (Transact-SQL) SELECT (Transact-SQL)
可以使用括号更改执行顺序。 将首先执行括号内的计算。 如果括号有嵌套,则最内层的计算优先。
以下示例从 datetime 日期中减去天数。
datetime
-- Uses the AdventureWorks sample database 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) 示例:Azure Synapse Analytics 和 Analytics Platform System (PDW) C. 在 SELECT 语句中使用减法 以下示例计算 dimEmployee 表中,基准费率最高的员工与基准费率最低的员工之间的基准费率差。 -- Uses AdventureWorks SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference FROM DimEmployee; -=(减法赋值)(Transact-SQL) 复合运算符 (Transact-SQL) 算术运算符 (Transact-SQL) -(负)(Transact-SQL) 数据类型 (Transact-SQL) 表达式(Transact-SQL) 内置函数 (Transact-SQL) SELECT (Transact-SQL)
下面是结果集:
Subtract Date ----------------------- 1900-01-08 15:00:00.000 (1 row(s) affected) 示例:Azure Synapse Analytics 和 Analytics Platform System (PDW) C. 在 SELECT 语句中使用减法 以下示例计算 dimEmployee 表中,基准费率最高的员工与基准费率最低的员工之间的基准费率差。 -- Uses AdventureWorks SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference FROM DimEmployee; -=(减法赋值)(Transact-SQL) 复合运算符 (Transact-SQL) 算术运算符 (Transact-SQL) -(负)(Transact-SQL) 数据类型 (Transact-SQL) 表达式(Transact-SQL) 内置函数 (Transact-SQL) SELECT (Transact-SQL)
以下示例计算 dimEmployee 表中,基准费率最高的员工与基准费率最低的员工之间的基准费率差。
dimEmployee
-- Uses AdventureWorks SELECT MAX(BaseRate) - MIN(BaseRate) AS BaseRateDifference FROM DimEmployee; -=(减法赋值)(Transact-SQL) 复合运算符 (Transact-SQL) 算术运算符 (Transact-SQL) -(负)(Transact-SQL) 数据类型 (Transact-SQL) 表达式(Transact-SQL) 内置函数 (Transact-SQL) SELECT (Transact-SQL)
-=(减法赋值)(Transact-SQL) 复合运算符 (Transact-SQL) 算术运算符 (Transact-SQL) -(负)(Transact-SQL) 数据类型 (Transact-SQL) 表达式(Transact-SQL) 内置函数 (Transact-SQL) SELECT (Transact-SQL)