+ (addizione) (Transact-SQL)
Esegue la somma di due numeri. Questo operatore aritmetico di addizione consente inoltre di aggiungere un numero, espresso in giorni, a un valore di tipo datetime.
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. Impossibile da utilizzare con i tipi di dati date o time.
Tipi restituiti
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 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
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)