2012-08-16 23 views
5

¿Qué significa la siguiente asignación de variable en T-SQL?¿Qué significa "+ =" en T-SQL

SET @myvariable += 'test' 
+8

myvariable = myvariable + 'test' –

+3

I don' Esto significa ser grosero aquí, pero ¿cómo intentó encontrar la respuesta por sí mismo antes de preguntar? Pregunto porque escribí "+ =" en el índice de libros en línea que tengo instalado en mi computadora portátil y + = tiene una entrada. –

+0

Nice one @BenThul. Intenta buscarlo primero en google –

Respuesta

2

En SQL Server 2008 y más tarde, es una abreviatura de addition/concatenation y asignación.

set @x += 'test' 

es lo mismo que:

set @x = @x + 'test' 
13

lo mismo que muchos otros lenguajes de programación - Anexa (o agregados según el tipo de datos de la variable, y agrega en este caso) al valor existente.

E.g. si el valor de @myvariable es actualmente hello, después de esta asignación el valor será hellotest.

Es un atajo para: SET @myvariable = @myvariable + 'test', introducido en SQL Server 2008.

+1

[Los operadores de asignación compuesta fueron 2008 no solo R2.] (http://msdn.microsoft.com/en-us/library/cc645922 (v = sql.100)) –

1

que es igual a

SET @myvariable = @myvariable + 'test' 
1

Es la abreviatura de Algo Algo = + somethingelse.

2

SET @ v1 + = 'expresión' es equivalente a SET @ v1 = @ v1 + 'expresión'.

El operador + = no se puede utilizar sin una variable. Por ejemplo, el código siguiente provocará un error:

SELECT 'Adventure' += 'Works' 

El siguiente ejemplo concatena utilizando el operador + =.

DECLARE @v1 varchar(40); 
SET @v1 = 'This is the original.'; 
SET @v1 += ' More text.'; 
PRINT @v1; 

Aquí es el conjunto de resultados: Este es el original. Más texto

3

acumulate @myvariable 'prueba' por ejemplo si @myvariable tiene un valor antes como 'hola' @myvariable + = 'prueba' cambiar el valor a 'hola prueba'

0

Se añade el valor en el lado derecho de + = a la variable. En este ejemplo @myvariable se anexará con cadena de prueba valor de cadena (suponiendo @myvariable puede aceptar valores de cadena.

Esta lógica también se aplica a la mayoría de los lenguajes de programación