2012-08-16 31 views
5

Phân bổ biến sau có ý nghĩa gì trong T-SQL?"+ =" có nghĩa là gì trong T-SQL

SET @myvariable += 'test' 
+8

myvariable = myvariable + 'test' –

+3

I don' Tôi hỏi vì tôi đã nhập "+ =" vào chỉ mục sách trực tuyến mà tôi đã cài đặt trên máy tính xách tay của mình và + = có mục nhập. –

+0

Đẹp nhất @BenThul, hãy thử tìm kiếm nó trên google trước tiên –

Trả lời

2

Trong SQL Server 2008 và sau đó, nó là viết tắt của addition/concatenation và bài tập.

set @x += 'test' 

là giống như:

set @x = @x + 'test' 
13

Giống như nhiều ngôn ngữ lập trình khác - thêm (hoặc thêm tùy thuộc vào kiểu dữ liệu của biến, nhưng nối thêm trong trường hợp này) vào giá trị hiện tại.

Ví dụ: nếu giá trị của @myvariable hiện là hello, sau khi gán này giá trị sẽ là hellotest.

Đó là một phím tắt cho: SET @myvariable = @myvariable + 'test', được giới thiệu trong SQL Server 2008.

+1

[Các toán tử gán kết hợp là 2008 không chỉ R2.] (http://msdn.microsoft.com/en-us/library/cc645922 (v = sql.100)) –

1

nó được bằng

SET @myvariable = @myvariable + 'test' 
1

Đó là viết tắt cho cái gì đó = Something + SomethingElse.

2

SET @ v1 + = 'expression' tương đương với SET @ v1 = @ v1 + 'expression'.

Không thể sử dụng toán tử + = mà không có biến. Ví dụ: mã sau sẽ gây ra lỗi:

SELECT 'Adventure' += 'Works' 

Ví dụ sau ghép nối bằng toán tử + =.

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

Dưới đây là tập hợp kết quả: Đây là bản gốc. Thêm văn bản.

3

acumulate @myvariable 'test' ví dụ nếu @myvariable có giá trị trước như 'hello' @myvariable + = 'test' thay đổi giá trị 'hello test'

0

Nó gắn thêm giá trị vào phía bên phải của + = vào biến. Trong ví dụ @myvariable này sẽ kết hợp với kiểm tra giá trị chuỗi (giả sử chuỗi @myvariable có thể chấp nhận các giá trị chuỗi.

Logic này cũng sẽ áp dụng cho hầu hết các ngôn ngữ lập trình