以下为两种方式赋值的差异对比:
同时对多个变量同时赋值 |
将返回的最后一个值赋给变量 |
当表达式返回一个值并对一个变量进行赋值时推荐使用 SET 方法。
注意:SELECT 也可以将標量子查询的值赋给变量如果标量子查询不返回值,则变量被置为 null 值此时与 使用 SET 赋值是完全相同的
加载中,请稍候......
以上网友发言只代表其个人观点不代表新浪网的观点或立场。
最近的项目写的SQL比较多经常会鼡到对变量赋值,而我使用SET和SELECT都会达到效果
那就有些迷惑,这两者有什么区别呢什么时候哪该哪个呢?
经过网上的查询及个人练习,总结两者有以下几点主要区别:
1、SELECT可以在一条语句里对多个变量同时赋值,而SET只能一次对一个变量赋值如下:
2、表达式返回多个值时,鼡SET将会出错而SELECT将取最后一个值,如下:
3、表达式无返回值时用SET将置变量值为NULL,用SELECT交保持变量值,如下:
4、使用标量子查询时如果无返囙值,SET和SELECT一样都将置为NULL,如下:
2、 (着重提到了标量子查询)