Оператор + (сложение) (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

Б. Использование оператора сложения для добавления дней к значениям даты и часа

В следующем примере число дней прибавляется к дате типа 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)

В. Сложение данных символьного и целочисленного типов

В следующем примере складываются значения типа int и символьного типа путем преобразования данных символьного типа в тип int. Если в строке типа char существует недопустимый символ, то компонент SQL Server Database Engine возвращает ошибку.

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

Ниже приводится результирующий набор.

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

125142

(1 row(s) affected)