自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

SQL Server空值比較的實際搜索條件

數(shù)據(jù)庫 SQL Server
我們今天主要向大家講述的是SQL Server空值比較的實際搜索條件,以下就是文章的主要內(nèi)容的詳細(xì)解析,望你能有所收獲。

以下的文章主要向大家講述的是SQL Server空值比較的實際搜索條件,NULL 值表示列的相關(guān)數(shù)據(jù)值未知或是不可用。NULL 值和零(數(shù)字值或二進制值)、零長度的字符串或空白(字符值)的含義不同。

相反,空值可用于區(qū)分輸入的是零(數(shù)字列)或空白(字符列)還是無數(shù)據(jù)輸入(NULL 可用于數(shù)字列和字符列)。

可以通過以下兩種方式在允許空值的列中輸入 NULL 值(根據(jù) CREATE TABLE 語句的指定):

如果無數(shù)據(jù)輸入并且列或數(shù)據(jù)類型上無默認(rèn)的或 DEFAULT 約束,Microsoft® SQL Server™ 2000 將自動輸入 NULL 值。

通過鍵入不帶引號的 NULL 顯式輸入 NULL 值。如果在字符列中鍵入帶引號的 NULL,則將其視為字母 N、U、L、L 而非空值。

當(dāng)檢索到空值時,應(yīng)用程序通常會在適當(dāng)?shù)奈恢蔑@示 NULL 或 (NULL) 或 (null) 這樣的字符串。例如,titles 表中的 advance 列允許空值:

  1. SELECT title_id, type, advance FROM pubs.dbo.titles WHERE advance IS NULL 

下面是結(jié)果集:

  1. title_id type advance -------- ------------ ------- MC3026 UNDECIDED (null) PC9999 popular_comp (null) (2 row(s) affected) 

比較空值

比較空值時必須小心。比較行為取決于選項 SET ANSI_NULLS 的設(shè)置。

當(dāng)

  1. SET ANSI_NULLS 為> ytd_sales > NULL 

只要變量包含 NULL 值,下列比較也輸出 UNKNOWN:

  1. ytd_sales > @MyVariable 

使用 IS NULL 或 IS NOT NULL 子句測試 NULL 值。這將增加 WHERE 子句的復(fù)雜性。例如,表 Northwind Customers 中的 Region 列允許空值。如果使用 SELECT 語句不僅測試其它值還測試SQL Server空值比較則必須包括 IS NULL 子句:

  1. SELECT CustomerID, CompanyName, Region FROM Northwind.dbo.Customers WHERE Region IN ('WA', 'SP', 'BC') OR Region IS NULL 

Transact-SQL 支持在與空值進行比較時,允許比較運算符返回 TRUE 或 FALSE。通過設(shè)置 ANSI_NULLS OFF 可將該選項激活。當(dāng) ANSI_NULLS 為 OFF 時,如果 ColumnA 包含空值,則比較操作 ColumnA = NULL 返回 TRUE;

如果 ColumnA 除包含 NULL 外還包含某些值,則比較操作返回 FALSE。此外,兩個都取空值的表達(dá)式的比較也輸出 TRUE。當(dāng) ANSI_NULLS 設(shè)置為 OFF 時,SELECT 語句將返回 Customer 表中所有 Region 為空值的行:

  1. SELECT CustomerID, CompanyName, Region FROM Northwind.dbo.Customers WHERE Region = NULL 

不論 ANSI_NULLS 如何設(shè)置,對于 ORDER BY、GROUP BY 和 DISTINCT 關(guān)鍵字空值總被視為是相等的。此外,允許 NULL 的唯一索引或 UNIQUE 約束只能包含一個帶有 NULL 鍵值的行。后面帶有 NULL 的行將被拒絕。屬于主鍵的任何列中都不能含有 NULL。

涉及 NULL 的計算均取值為 NULL,這是因為只要有一個因子為未知,結(jié)果肯定是 UNKNOWN。例如,如果 column1 為 NULL,則 column1 + 1 取值為 NULL。

當(dāng)搜索的列中包括定義為允許空值的列時,可以通過下列模式查找數(shù)據(jù)庫中的空值或非空值。

  1. WHERE column_name IS [NOT] NULL 

以上的相關(guān)內(nèi)容就是對SQL Server空值比較搜索條件的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server 服務(wù)管理器的正確運行方式
  2. SQL Server 瀏覽器的正確應(yīng)用
  3. 解決SQL Server數(shù)據(jù)庫中的安全疑難問題的方案
  4. SQL Server刪除群集的實例演示
  5. SQL Server主鍵列的正確查看方式
責(zé)任編輯:佚名 來源: TT中國
相關(guān)推薦

2010-04-30 11:41:39

Oracle常用函數(shù)

2010-07-09 12:49:41

SQL Server自

2011-02-24 13:55:12

SQL Server可空字段非空值

2010-07-08 16:44:21

SQL Server索

2010-05-12 09:42:24

MySQL 列值比較

2010-07-07 11:03:21

SQL Server索

2010-07-21 15:22:07

2010-06-30 17:56:06

2010-11-09 15:18:37

SQL Server多

2010-07-07 11:28:12

SQL Server索

2010-07-12 17:37:03

SQL Server

2010-06-28 12:39:14

SQL Server數(shù)

2010-07-23 09:25:50

SQL Server導(dǎo)

2010-06-30 13:07:17

SQL Server函

2010-07-16 11:10:52

SQL server

2010-07-02 13:26:56

SQL Server處

2011-04-01 14:14:42

SQL Server空值

2010-09-13 16:39:36

sql server觸

2010-07-05 08:31:25

SQL Server快

2010-07-08 16:00:51

SQL Server線
點贊
收藏

51CTO技術(shù)棧公眾號