一些SQL命令備忘

來源:互聯網
上載者:User
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
是什麼意思?

這些是 SQL-92 設定語句,使 SQL Server 2000/2005 遵從 SQL-92 規則。
當 SET QUOTED_IDENTIFIER 為 ON 時,標識符可以由雙引號分隔,而文字必須由單引號分隔。當 SET QUOTED_IDENTIFIER 為 OFF 時,標識符不可加引號,且必須符合所有 Transact-SQL 標識符規則。
SQL-92 標準要求在對空值進行等於 (=) 或不等於 (<>) 比較時取值為 FALSE。當 SET ANSI_NULLS 為 ON 時,即使 column_name 中包含空值,使用 WHERE column_name = NULL 的 SELECT 語句仍返回零行。即使 column_name 中包含非空值,使用 WHERE column_name <> NULL 的 SELECT 語句仍會返回零行。
當 SET ANSI_NULLS 為 OFF 時,等於 (=) 和不等於 (<>) 比較子不遵從 SQL-92 標準。使用 WHERE column_name = NULL 的 SELECT 語句返回 column_name 中包含空值的行。使用 WHERE column_name <> NULL 的 SELECT 語句返回列中包含非空值的行。此外,使用 WHERE column_name <> XYZ_value 的 SELECT 語句返回所有不為 XYZ_value 也不為 NULL 的行。

用於和NULL的比較,如:null=null在off時會返回   true,在on   時為false

SET   NOCOUNT   
  使返回的結果中不包含有關受   Transact-SQL   語句影響的行數的資訊。  
   
  文法  
  SET   NOCOUNT   {   ON   |   OFF   }  
   
  注釋  
  當   SET   NOCOUNT   為   ON   時,不返回計數(表示受   Transact-SQL   語句影響的行數)。當   SET   NOCOUNT   為   OFF   時,返回計數。  
   
  即使當   SET   NOCOUNT   為   ON   時,也更新   @@ROWCOUNT   函數。  
   
  當   SET   NOCOUNT   為   ON   時,將不給用戶端發送預存程序中的每個語句的   DONE_IN_PROC   資訊。當使用   Microsoft&reg;   SQL   Server   提供的工具 + 生產力執行查詢時,在   Transact-SQL   語句(如   SELECT、INSERT、UPDATE   和   DELETE)結束時將不會在查詢結果中顯示"nn   rows   affected"。  
   
  如果預存程序中包含的一些語句並不返回許多實際的資料,則該設定由於大量減少了網路流量,因此可顯著提高效能。  
   
  SET   NOCOUNT   設定是在執行或運行時設定,而不是在分析時設定。  

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.