+ (сложение) (Transact-SQL)
складывает два числа. С помощью этого арифметического оператора сложения можно также прибавлять число дней к дате.
Синтаксис
expression + expression
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
выражение
Любое допустимое выражение expression одного из типов данных числовой категории, кроме типа данных bit. Нельзя использовать с типами данных date, time, datetime2 или datetimeoffset.
Типы результата
Возвращает результат типа данных аргумента с более высоким приоритетом. Дополнительные сведения см. в разделе Приоритет типов данных (Transact-SQL).
Примеры
А. Использование оператора сложения для вычисления общего числа часов отсутствия на рабочем месте для каждого сотрудника.
В этом примере приведен расчет общего времени отсутствия на рабочем месте (в часах) для каждого сотрудника путем сложения отпускных часов и часов отсутствия по болезни.
-- Uses AdventureWorks 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 .
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 есть недопустимый символ, Transact-SQL возвращает ошибку.
DECLARE @addvalue INT; SET @addvalue = 15; SELECT '125127' + @addvalue;
----------------------- 125142 (1 row(s) affected)
Примеры: Azure Synapse Analytics и система платформы аналитики (PDW)
Г. Использование оператора сложения для вычисления общего числа часов отсутствия на рабочем месте для каждого сотрудника
В приведенном ниже примере приведен расчет общего времени отсутствия на рабочем месте (в часах) для каждого сотрудника путем сложения отпускных часов и часов отсутствия по болезни, причем результаты сортируются по возрастанию.
-- Uses AdventureWorks SELECT FirstName, LastName, VacationHours, SickLeaveHours, VacationHours + SickLeaveHours AS TotalHoursAway FROM DimEmployee ORDER BY TotalHoursAway ASC;
Как сложить 2 числа в SQL?
SUM — это агрегатная функция, имеющая один аргумент. Для суммирования используется оператор +. Также, как и в большинстве других языков.
Остальные ответы
update . set kol_prin_pat = @a where .
СурикатПрофи (909) 8 лет назад
Спасибо, работает)
Похожие вопросы
Ваш браузер устарел
Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.
Как сложить числа в двух таблицах?
Надо получить результат сложения [ostatok] первой таблицы и [prihod] второй таблицы и от этого отнять [rashod] второй таблицы. Как то так: SUM(ostatok)+SUM(prihod)-SUM(rashod) . Как это сделать?
Отслеживать
9,396 4 4 золотых знака 41 41 серебряный знак 57 57 бронзовых знаков
задан 7 дек 2011 в 11:29
141 2 2 золотых знака 13 13 серебряных знаков 31 31 бронзовый знак
2 ответа 2
Сортировка: Сброс на вариант по умолчанию
Соединять таблицы, похоже, нужно по предприятию и, возможно, еще по пункту, если знать, что это такое, но вряд ли по id. 🙂 А можно вообще ничего не соединять:
select SUM(prihod) - SUM(rashod) + (select sum(ostatok) from ostatky) from main
Отслеживать
ответ дан 7 дек 2011 в 14:58
11.5k 16 16 серебряных знаков 16 16 бронзовых знаков
Только мне непонятно что там с квадратными скобками (в каких случаях писать, а в каких нет), но смысл такой:
select ID, SUM(o.ostatok)+SUM(m.prihod)-SUM(m.rashod) from [ostatky] o left join [main] m on (m.[id] = o.[id])
Отслеживать
ответ дан 7 дек 2011 в 11:36
chernomyrdin chernomyrdin
4,188 15 15 серебряных знаков 16 16 бронзовых знаков
квадратные скобки — это аналог двойных кавычек в некоторых диалектах SQL (например, в T-SQL)
9 июн 2016 в 9:31
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.17.3574
CONCAT (Transact-SQL)
Эта функция возвращает строку, возникающую в результате объединения двух или более строковых значений в сквозной форме.
Чтобы добавить разделяющее значение во время объединения, используйте CONCAT_WS.
Синтаксис
CONCAT ( argument1 , argument2 [ , argumentN ] . )
Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.
Аргументы
argument1, argument2 [ , argumentN ]
Выражение любого строкового значения. Функции CONCAT требуется по крайней мере два аргумента и не более 254 аргументов.
Типы возвращаемых данных
Строковое значение, длина и тип которого зависят от входных данных.
Замечания
CONCAT принимает переменное количество строковых аргументов и объединяет их в одну строку. Для этого требуется не менее двух входных значений; CONCAT в противном случае вызывает ошибку. Функция CONCAT неявно преобразует все аргументы в строковые типы перед объединением. CONCAT неявно преобразует значения NULL в пустые строки. При CONCAT получении аргументов со всеми NULL значениями возвращается пустая строка типа varchar(1). Неявное преобразование в строки выполняется по существующим правилам преобразования типов данных. Дополнительные сведения о преобразовании типов данных см. в статье Функции CAST и CONVERT (Transact-SQL).
Тип возвращаемого значения зависит от типа аргументов. Описанные выше основные понятия проиллюстрированы в этой таблице.
| Тип Ввода | Выходной тип и длина |
|---|---|
| 1. Любой аргумент типа системы SQL-CLR, UDT SQL-CLR или nvarchar(max) | nvarchar(max) |
| 2. В противном случае любой аргумент типа varbinary(max) или varchar(max) | varchar(max), если только один из параметров не представляет собой значение nvarchar любой длины. В этом случае CONCAT возвращает результат типа nvarchar(max). |
| 3. В противном случае любой аргумент типа nvarchar до 4000 символов (nvarchar()) | nvarchar() |
| 4. Во всех остальных случаях | любой аргумент типа varchar до 8000 символов (varchar(= 8000)), если один из параметров не является nvarchar любой длины. В этом случае CONCAT возвращает результат типа nvarchar(max). |
Если ни один из входных аргументов не имеет поддерживаемого типа большого объекта (LOB), возвращаемый тип усечен до 8000 символов длиной, независимо от типа возвращаемого значения. Это усечение позволяет сохранить пространство и обеспечить эффективность формирования плана.
CONCAT можно удаленно выполнять на связанном сервере под управлением SQL Server 2012 (11.x) и более поздних версий. Для старых связанных серверов операция будет выполняться локально, CONCAT после того как связанный сервер возвращает несоединяемые значения.
Примеры
А. Использование CONCAT
SELECT CONCAT ('Happy ', 'Birthday ', 11, '/', '25') AS Result;
Result -------------------- Happy Birthday 11/25
B. Использование CONCAT со значениями NULL
CREATE TABLE #temp ( emp_name NVARCHAR(200) NOT NULL, emp_middlename NVARCHAR(200) NULL, emp_lastname NVARCHAR(200) NOT NULL ); INSERT INTO #temp VALUES ('Name', NULL, 'Lastname'); SELECT CONCAT (emp_name, emp_middlename, emp_lastname) AS Result FROM #temp;
Result ------------ NameLastname
Связанный контент
- CONCAT_WS (Transact-SQL)
- FORMATMESSAGE (Transact-SQL)
- QUOTENAME (Transact-SQL)
- REPLACE (Transact-SQL)
- REVERSE (Transact-SQL)
- STRING_AGG (Transact-SQL)
- STRING_ESCAPE (Transact-SQL)
- STUFF (Transact-SQL)
- TRANSLATE (Transact-SQL)
- Строковые функции (Transact-SQL)
Обратная связь
Были ли сведения на этой странице полезными?
Обратная связь
Отправить и просмотреть отзыв по