sql server select和set賦值的區別

來源:互聯網
上載者:User

標籤:定義   記錄   uri   返回   select   sel   font   size   使用   

  --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

     

sql server select和set賦值的區別

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.