在T-SQL中“+ =”是什么意思

时间:2012-08-16 16:00:26

标签: sql sql-server tsql

以下变量赋值在T-SQL中意味着什么?

SET @myvariable += 'test'

9 个答案:

答案 0 :(得分:13)

与许多其他编程语言一样 - 追加(或根据变量的数据类型添加,但在这种情况下附加)到现有值。

E.g。如果@myvariable的值当前为hello,则在此分配后,该值将为hellotest

这是SQL Server 2008中引入的SET @myvariable = @myvariable + 'test'的快捷方式。

答案 1 :(得分:3)

@myvariable累积'测试' 例如 如果@myvariable之前有一个值'hello' @myvariable + ='test'将值更改为'hello test'

答案 2 :(得分:3)

在SQL Server 2008及更高版本中,它是addition / concatenation和分配的简写。

set @x += 'test'

与:

相同
set @x = @x + 'test'

答案 3 :(得分:2)

SET @ v1 + ='expression'相当于SET @ v1 = @ v1 +'expression'。

如果没有变量,则不能使用+ =运算符。例如,以下代码将导致错误:

SELECT 'Adventure' += 'Works'

以下示例使用+ =运算符连接。

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

以下是结果集: 这是原作。更多文字。

答案 4 :(得分:1)

等于

SET @myvariable = @myvariable + 'test'

答案 5 :(得分:1)

这是Something = Something + SomethingElse的缩写。

答案 6 :(得分:1)

+ =(添加分配): 将两个数字相加并为运算结果设置一个值。例如,如果变量@x等于35,则@x + = 2取@x的原始值,加2并将@x设置为新值(37)

+ =(字符串串联分配): 连接两个字符串,并将字符串设置为操作的结果。例如,如果变量@x等于'Adventure',则@x + ='Works'采用@x的原始值,在字符串中添加'Works',然后将@x设置为新值'AdventureWorks'。 / p>

答案 7 :(得分:0)

它将+ =右侧的值附加到变量。 在这个例子中,@ myvariable将附加字符串值test(假设字符串@myvariable可以接受字符串值。

此逻辑也适用于大多数编程语言

答案 8 :(得分:0)

set @value1 = 'Hello'
set @value1 = ' World'
print @value1

输出:世界

set @value2 = 'Hello'
set @value2 += ' World'
print @value2

输出:Hello World