SQL 变量赋值有关问题

SQL 变量赋值问题在SQL中,关于变量赋值有要注意的地方?示例1DECLARE @val intSET @val 0SET @val (sel

SQL 变量赋值问题

在SQL中,关于变量赋值有要注意的地方

?

示例1

DECLARE @val intSET @val = 0SET @val = (select val from a where id = 1)

?

示例2

DECLARE @val intSET @val = 0SELECT @val = val from a where id = 1 

?

上面两个赋值示例的结果在某些情况下是不一样的,示例1中如果查询是空,则值为NULL,而示例2在这种情况中,变量值仍为初始值0。上述两种赋值方法在某些情况下都是有其用处的,但重要是搞清两者区别,不然小状况很可能会出大问题。