sql server select和set赋值的区别
? --SQL Server中對已經定義的變量賦值的方式用兩種,分別是 SET 和 SELECT
? --當表達式返回一個值并對一個變量進行賦值時,推薦使用 SET 方法
(1)SELECT可以在一條語句里對多個變量同時賦值,而SET只能一次對一個變量賦值? ?
? ? select @para_1 = '1',@para_2 = '2';
? ? 而set要達到同樣的效果,需要:
? ? set @para_1 = '1'
? ? set @para_2 = '2'
(2)表達式返回多個值時,用SET將會出錯,而SELECT將取最后一個值
? ? 假設:table_1表有多個sex記錄
? ? select @para_1 = sex from table_1 --將取最后一個值
? ? set @para_1 = sex from table_1 --將報錯
(3)表達式無返回值時,用SET將置變量值為NULL,用SELECT變量將保持原值
? ? 假設:table_1表為空
? ? set @para_1 = '初始值'
? ? select @para_1 = sex from table_1 --此時@para_1為‘初始值’
? ? set?@para_1 = sex from table_1 --此時@para_1為null
(4)使用標量子查詢時,如果無返回值,SET和SELECT一樣,都將置為NULL
? ??假設:table_1表為空
? ??set @para_1 = '初始值'
? ??select @para_1 = (select sex from table_1) --此時@para_1為null
? ??set ?@para_1 = (select sex from table_1) --此時@para_1為null
? ? ?
轉載于:https://www.cnblogs.com/llljpf/p/6552837.html
總結
以上是生活随笔為你收集整理的sql server select和set赋值的区别的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查看本机的ip地址
- 下一篇: 2015Cocos游戏开发大赛作品——人