日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLServer空值比較的實際搜索條件

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

在袁州等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計 網(wǎng)站設(shè)計制作按需定制開發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,成都全網(wǎng)營銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,袁州網(wǎng)站建設(shè)費用合理。

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

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

如果無數(shù)據(jù)輸入并且列或數(shù)據(jù)類型上無默認的或 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。此外,兩個都取空值的表達式的比較也輸出 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空值比較搜索條件的介紹,望你能有所收獲。


分享文章:SQLServer空值比較的實際搜索條件
文章分享:http://www.dlmjj.cn/article/dpssdgp.html