C# is becoming more dynamic (like Python and Ruby) but now SQL is becoming more like C# (but with LINQ C# is becoming more like SQL)
Confused? Good!

SQL Server has added compound operators. Instead of writing

T-SQL
1
SET @value = @value + 100
SET @value = @value + 100

you can just do

T-SQL
1
SET @value += 100
SET @value += 100

See that? I can see a lot of people writing Dynamic SQL already smiling. Really who wants to write code like this whole day long?

T-SQL
1
SET @MyBigDynamicSQLString = MyBigDynamicSQLString + ' From ' + @Table
SET @MyBigDynamicSQLString = MyBigDynamicSQLString + ' From ' + @Table

This is much shorter (but not better IMNSHO)

T-SQL
1
SET @MyBigDynamicSQLString +=  ' From ' + @Table
SET @MyBigDynamicSQLString +=  ' From ' + @Table

Anyway here are all the compound operators that you can use:

+= (Add EQUALS)
Adds some amount to the original value and sets the original value to the result.

-= (Subtract EQUALS)
Subtracts some amount from the original value and sets the original value to the result.

*= (Multiply EQUALS)
Multiplies by an amount and sets the original value to the result.

/= (Divide EQUALS)
Divides by an amount and sets the original value to the result.

%= (Modulo EQUALS)
Divides by an amount and sets the original value to the modulo.

&= (Bitwise AND EQUALS)
Performs a bitwise AND and sets the original value to the result.

^= (Bitwise Exclusive OR EQUALS)
Performs a bitwise exclusive OR and sets the original value to the result.

|= (Bitwise OR EQUALS)
Performs a bitwise OR and sets the original value to the result.

Have fun reconstructing your strings :-)

Here is another example where SQL is morphing

T-SQL
1
2
DECLARE @find varchar(30); 
SET @find = 'Man%';
DECLARE @find varchar(30); 
SET @find = 'Man%';

In SQL Server 2008 you can do

T-SQL
1
DECLARE @find varchar(30) = 'Man%'; 
DECLARE @find varchar(30) = 'Man%'; 

Much nicer