Поделиться через


Оператор + (сложение) (Transact-SQL)

Складывает два числа. С помощью этого арифметического оператора сложения можно также прибавлять число дней к дате и времени.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

expression + expression

Аргументы

  • expression
    Любое верное выражение любого типа данных числовой категории, кроме типа данных bit. Не может быть использовано с типами данных даты и времени.

Типы результата

Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).

Примеры

A. Использование оператора сложения для вычисления общего числа часов отсутствия на рабочем месте для каждого сотрудника.

В следующем примере приведен расчет общего времени отсутствия на рабочем месте (в часах) для каждого сотрудника путем сложения отпускных часов и часов отсутствия по болезни.

USE AdventureWorks;
GO
SELECT c.FirstName, c.LastName, VacationHours, SickLeaveHours, 
    VacationHours + SickLeaveHours AS 'Total Hours Away'
FROM HumanResources.Employee AS e
    JOIN Person.Contact AS c ON e.ContactID = c.ContactID
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'

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

Дата начала Добавить дату

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

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

(Обработано строк: 1)

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

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

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

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

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

125142

(Обработано строк: 1)