2012-08-16 14 views
5

Co oznacza następujące przypisanie zmiennych w T-SQL?Co oznacza "+ =" w T-SQL

SET @myvariable += 'test' 
+8

myVariable = myVariable + „test” –

+3

I don” Chodzi o to, że jesteś tu niegrzeczny, ale jak próbowałeś znaleźć odpowiedź przed pytaniem? Pytam, ponieważ wpisałem "+ =" do indeksu książek online, który zainstalowałem na moim laptopie, a + = ma wpis. –

+0

Przyjemny jeden @BenThul, spróbuj go przeszukać najpierw google –

Odpowiedz

2

w SQL Server 2008 i później jest on stenografowany pod kątem addition/concatenation i przypisania.

set @x += 'test' 

jest taka sama, jak:

set @x = @x + 'test' 
13

Tak samo jak wiele innych języków programowania - dołączania (lub dodać w zależności od typu danych zmiennej, ale dołączy w tym przypadku) do istniejącej wartości.

E.g. jeśli wartość @mienna jest obecnie hello, po tym przypisaniu wartość będzie wynosić hellotest.

Jest to skrót dla: SET @myvariable = @myvariable + 'test', wprowadzony w SQL Server 2008.

+1

[Operatory przypisania sumy to 2008 r. nie tylko R2.] (http://msdn.microsoft.com/en-us/library/cc645922 (v = sql.100)) –

1

jest równa

SET @myvariable = @myvariable + 'test' 
1

Jest skrótem Coś za coś = + somethingelse.

2

SET @ v1 + = "wyrażenie" jest równoważne SET @ v1 = @ v1 + "wyrażenie".

Operator + = nie może być używany bez zmiennej. Na przykład poniższy kod spowoduje błąd:

SELECT 'Adventure' += 'Works' 

Poniższy przykład łączy się za pomocą operatora + =.

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

Oto zestaw wyników: To jest oryginalny. Więcej tekstu.

3

@myvariable acumulate 'test' np jeśli @myvariable ma wartość przed jak 'cześć' @myvariable + = 'test' zmień wartość na 'cześć test'

0

To dołącza wartość po prawej stronie + = do zmiennej. W tym przykładzie @myvariable zostanie dołączony z testu wartość ciągu (zakładając ciąg @myvariable może przyjąć wartości ciągów.

Ta logika odnosi się także do większości języków programowania