+ (addizione) (Transact-SQL)
Esegue la somma di due numeri. Questo operatore aritmetico di addizione consente inoltre di aggiungere un numero, espresso in giorni, a una data.
Sintassi
expression + expression
Argomenti
- expression
Espressione valida di uno dei tipi di dati della categoria dei tipi numerici, ad eccezione del tipo di dati bit. Non può essere utilizzata con i tipi di dati date, time, datetime2 o datetimeoffset.
Tipi di risultati
Restituisce il tipo di dati dell'argomento con la priorità più alta. Per ulteriori informazioni, vedere Precedenza dei tipi di dati (Transact-SQL).
Esempi
A. Utilizzo dell'operatore di addizione per calcolare il numero totale di ore di assenza per ogni dipendente
Nell'esempio seguente viene calcolato il numero totale di ore di assenza per ogni dipendente tramite la somma del numero di ore di ferie e il numero di ore di assenza per malattia.
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. Utilizzo dell'operatore di addizione per aggiungere giorni a valori di data e ora
Nell'esempio seguente viene aggiunto un numero di giorni a una data di tipo 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';
Set di risultati:
Start Date Add Date
--------------------------- ---------------------------
1900-01-11 06:00:00.000 1900-01-15 00:00:00.000
(1 row(s) affected)
C. Somma di valori di tipo integer e char
Nell'esempio seguente vengono sommati un valore di tipo int e un valore di tipo char tramite la conversione del valore char nel tipo int. Se nella stringa di tipo char è presente un carattere non valido, Motore di database di SQL Server restituisce un errore.
DECLARE @addvalue int;
SET @addvalue = 15;
SELECT '125127' + @addvalue;
Set di risultati:
-----------------------
125142
(1 row(s) affected)