9

以下变量赋值在 T-SQL 中是什么意思?

SET @myvariable += 'test'
4

9 回答 9

14

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

例如,如果 @myvariable 的值当前是hello,则在此分配之后该值将是hellotest

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

于 2012-08-16T16:02:24.903 回答
7

在 SQL Server 2008 及更高版本中,它是加法/连接和赋值的简写。

set @x += 'test'

是相同的:

set @x = @x + 'test'
于 2012-08-16T16:12:37.280 回答
3

@myvariable acumulate 'test' 例如,如果 @myvariable 之前有一个值,例如 'hello ' @myvariable += 'test' 将值更改为 'hello test'

于 2012-08-16T16:06:06.087 回答
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;

这是结果集: 这是原始的。更多文字。

于 2012-08-16T16:03:19.057 回答
1

它等于

SET @myvariable = @myvariable + 'test'
于 2012-08-16T16:02:54.637 回答
1

它是Something = Something + SomethingElse 的简写。

于 2012-08-16T16:02:55.527 回答
1

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

+= (String Concatenation Assignment) : 连接两个字符串并将字符串设置为运算的结果。例如,如果变量@x 等于'Adventure',则@x +='Works' 采用@x 的原始值,将'Works' 添加到字符串中,并将@x 设置为新值'AdventureWorks'。

于 2020-12-13T21:59:12.017 回答
0

它将 += 右侧的值附加到变量 。在此示例中,@myvariable 将附加字符串值测试(假设字符串 @myvariable 可以接受字符串值。

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

于 2012-08-17T04:19:12.437 回答
0
set @value1 = 'Hello'
set @value1 = ' World'
print @value1

输出:世界

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

输出:你好世界

于 2020-12-13T13:29:02.337 回答