在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。上述两种赋值方法在某些情况下都是有其用处的,但重要是搞清两者区别,不然小状况很可能会出大问题。