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