+ (加) (Transact-SQL)

两个数相加。这个加法算术运算符也可以将一个以天为单位的数字加到日期中。

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

语法

expression + expression

参数

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

结果类型

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

示例

A. 使用加法运算符计算每个雇员离岗的总小时数。

以下示例通过添加休假小时数和病假小时数来计算每个雇员离岗的总小时数。

USE AdventureWorks2008R2;
GO
SELECT p.FirstName, p.LastName, VacationHours, SickLeaveHours, 
    VacationHours + SickLeaveHours AS 'Total Hours Away'
FROM HumanResources.Employee AS e
    JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID
ORDER BY 'Total Hours Away' ASC;
GO

B. 使用加法运算符将数天添加到日期和时间值中

以下示例将若干天添加到 datetime 日期上。

USE master;
GO
SET NOCOUNT ON
DECLARE @startdate datetime, @adddays int;
SET @startdate = ''January 10, 1900 12:00 AM';
SET @adddays = 5;
SET NOCOUNT OFF;
SELECT @startdate + 1.25 AS 'Start Date', 
   @startdate + @adddays AS 'Add Date';

下面是结果集:

Start Date Add Date

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

1900-01-11 06:00:00.000 1900-01-15 00:00:00.000

(1 row(s) affected)

C. 将字符和整数数据类型相加

以下示例通过将字符数据类型转换为 int,将 int 数据类型值与字符值相加。如果 char 字符串中具有无效字符,则 SQL Server 数据库引擎便会返回一个错误。

DECLARE @addvalue int;
SET @addvalue = 15;
SELECT '125127' + @addvalue;

下面是结果集:

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

125142

(1 row(s) affected)