2012-08-16 92 views
5

以下變量賦值在T-SQL中表示什麼?T-SQL中的「+ =」意思是什麼

SET @myvariable += 'test' 
+8

MYVARIABLE = MYVARIABLE +「測試」 – 2012-08-16 16:02:32

+3

我不這意味着在這裏沒有禮貌,但是在詢問之前,你是如何試圖找到答案的?我問是因爲我在我的筆記本電腦上安裝的書籍在線索引中輸入了「+ =」,+ =有條目。 – 2012-08-16 21:07:43

+0

不錯的@BenThul試着在google上搜索它 – 2012-08-18 19:32:44

回答

2

在SQL Server 2008後來,它是addition/concatenation和作業的簡寫。

set @x += 'test' 

相同:

set @x = @x + 'test' 
13

與許多其他編程語言相同 - 追加(或添加取決於變量的數據類型,但在這種情況下附加)到現有的值。

E.g.如果@myvariable的值當前爲hello,則在此賦值之後,值將爲hellotest

它的快捷方式:SET @myvariable = @myvariable + 'test',在SQL Server 2008中引入

+1

[複合賦值運算符是2008而不僅僅是R2。](http://msdn.microsoft.com/en-us/library/cc645922(v = sql.100)) – 2012-08-16 16:06:21

1

它等於

SET @myvariable = @myvariable + 'test' 
1

它是東西=東西+ SomethingElse簡寫。

2

SET @ v1 + ='表達'相當於SET @ v1 = @ v1 +'表達'。

+ =運算符不能在沒有變量的情況下使用。例如,以下代碼將導致錯誤:

SELECT 'Adventure' += 'Works' 

以下示例使用+ =運算符連接。

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

下面是結果集: 原來是這樣。更多文字。

3

@myvariable acumulate '測試' 例如 如果@myvariable具有前像 '你好' 的值 @myvariable + = '測試' 值更改爲 '你好測試'

0

其附加上+ =到可變的右側的值。 在這個例子中@myvariable將字符串值測試(假設字符串@myvariable可以接受字符串值被附加。

該邏輯也將適用於大多數編程語言