亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > SQL Server > 正文

SQL Server中NULL的正確使用與空間占用

2024-08-31 01:03:41
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了SQL Server中NULL的正確使用與空間占用的相關資料,需要的朋友可以參考下
 

我們常在SQL Server的使用或維護中遇上NULL,那么什么是NULL?如下是MSDN給出的一段簡短描述(見“Null Values”):

  • A value of NULL indicates that the value is unknown. A value of NULL is different from an empty or zero value. No two null values are equal. Comparisons between two null values, or between a NULL and any other value, return unknown because the value of each NULL is unknown.

通俗的講,NULL就是一個值,而且這個值是未知的(unknown);NULL不能等價任何值,甚至都不等價它自己,即NULL不等于NULL。

為了清晰的理解上述的內容,我們創建一個測試表Test_NULL,然后對表插入2條含有NULL值的記錄,并進行相關驗證操作:

--創建一張允許NULL值的表CREATE TABLE Test_NULL (  num INT NOT NULL PRIMARY KEY  ,fname NVARCHAR(50) NULL  ,lname NVARCHAR(50) NULL)--對表插入4條數據:最后2條記錄含有NULL值INSERT INTO Test_NULL (num,fname,lname) VALUES(1, 'Tom','Jane')INSERT INTO Test_NULL (num,fname,lname) VALUES(2, 'Dave','')INSERT INTO Test_NULL (num,fname) VALUES(3, 'Aaron')INSERT INTO Test_NULL (num,fname) VALUES(4, 'Betty')

為了驗證NULL值是未知的,我們通過如下SQL查詢表Test_NULL的記錄,對lname字段進行=操作:

--若兩個NULL是可以相等的,那么將輸出4條記錄。實際只輸出2條記錄

SELECT  *FROM Test_NULL tn LEFT JOIN Test_NULL g  ON tn.num = g.numWHERE tn.lname = g.lname------------------------------------------1  Tom Jane  1  Tom Jane2  Dave    2  Dave  --查詢lname為''的記錄,即驗證NULL不等于''SELECT  *FROM Test_NULL tnWHERE tn.lname = ''------------------------------------------2  Dave  

正確查詢/使用SQL Server中的NULL

由于NULL是未知的,因此在SQL Server默認情況下我們不能使用=或<>去判斷或查詢一條NULL的記錄(見上述),正確的方式是:使用IS NULL或IS NOT NULL去查詢或過濾一條含有NULL的記錄。

另外有函數ISNULL(),可判斷并轉換NULL為其他值。

--通過IS NULL查詢含有NULL的記錄SELECT  *FROM Test_NULL tnWHERE tn.lname IS NULL------------------------------------------3  Aaron  NULL4  Betty  NULL--NULL不等于任何值,甚至NULL不等于NULL--默認不能使用<>或=匹配NULLSELECT  *FROM Test_NULL tnWHERE tn.lname <> NULL OR tn.lname = NULL------------------------------------------

但需注意:SQL Server僅是在默認情況下不能使用=或<>,當設置ANSI_NULLS為OFF后,即可使用=或<>查詢NULL值

換言之,SQL Server默認是開啟ANSI_NULLS選項的。

--設置ANSI_NULLS為OFF,并使用=NULL查詢記錄SET ANSI_NULLS OFFSELECT  *FROM Test_NULL tnWHERE tn.lname = NULL------------------------------------------3  Aaron  NULL4  Betty  NULL

插入或更新NULL值:

--插入1條含有NULL的新記錄INSERT INTO Test_NULL (num,fname,lname) VALUES(5, 'Serena', NULL)--更新某條記錄的字段值為NULLUPDATE Test_NULL SET fname = NULLWHERE num = 2

NULL的空間占用

通常的認識是:NULL在可變長類型(如nvarchar(50),varchar(8))中是不占用空間的,在固定長度的類型(如int)中會占用存儲空間。

實際上,上述的認識不夠嚴謹。真實情況是,NULL在可變長與固定長度的類型中均會占用空間

在SQL Server非Sparse Columns中,存儲NULL的值需1個bit的NULL bitmap mask。

以上就是本文的全部內容,希望對大家的學習有所幫助。



注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美一级黄色网| 亚洲国产精品成人一区二区| 8090理伦午夜在线电影| 欧美激情视频一区| 国产精品爱久久久久久久| 国产精品人成电影在线观看| 亚洲精品av在线播放| 亚洲精品videossex少妇| 92福利视频午夜1000合集在线观看| 久久视频免费观看| 中文字幕无线精品亚洲乱码一区| 欧美日本高清视频| 456亚洲影院| 欧美日韩免费观看中文| 久久久久久久影视| 奇米成人av国产一区二区三区| 亚洲国产毛片完整版| 久久九九有精品国产23| 亚洲日本aⅴ片在线观看香蕉| 成人精品一区二区三区电影免费| 久久久久亚洲精品国产| 粉嫩av一区二区三区免费野| 国产精品极品美女粉嫩高清在线| 欧美激情高清视频| 国产精品aaa| 97视频在线观看网址| 亚洲免费福利视频| 欧美猛男性生活免费| 日韩在线免费观看视频| 午夜精品久久久久久久久久久久| 国产精品入口夜色视频大尺度| 国产亚洲精品成人av久久ww| 在线视频欧美性高潮| 992tv成人免费影院| 亚洲激情成人网| 亚洲男女性事视频| 成人伊人精品色xxxx视频| 国产精品久久久久久久av大片| 色中色综合影院手机版在线观看| 久久久国产一区| 欧美丝袜一区二区三区| 亚洲精品视频中文字幕| 午夜精品福利在线观看| 日本亚洲精品在线观看| 精品国产拍在线观看| 亚洲天堂成人在线视频| 日韩在线视频免费观看高清中文| 精品无码久久久久久国产| 亚洲一区二区久久久| 欧洲午夜精品久久久| 亚洲视频在线视频| 97视频色精品| 国产精品一区二区久久精品| 欧美日韩亚洲视频| 欧美第一黄色网| 亚洲一二三在线| 中文字幕日韩精品在线观看| 亚洲色图狂野欧美| 久久精品国产亚洲精品| 欧美壮男野外gaytube| 国产成人+综合亚洲+天堂| 亚洲欧美日韩一区二区在线| 亚洲国产美女久久久久| 中文字幕av一区中文字幕天堂| 国产精品美女免费看| 亚洲午夜精品久久久久久性色| 国产深夜精品福利| 日韩精品高清在线| 热草久综合在线| 欧美大片欧美激情性色a∨久久| 国产午夜精品全部视频在线播放| 亚洲视频日韩精品| 疯狂做受xxxx欧美肥白少妇| 97精品国产97久久久久久免费| 久久久免费电影| 亚洲free性xxxx护士hd| 欧美在线视频一区二区| 国产精品久久久久久久久| 欧美亚洲激情在线| 精品视频在线导航| 日韩欧美亚洲国产一区| 亚洲香蕉av在线一区二区三区| 日韩在线观看视频免费| 神马久久桃色视频| 国产精品极品尤物在线观看| 日韩三级成人av网| 日本欧美中文字幕| 青青a在线精品免费观看| 欧美日韩免费在线观看| 国产视频久久网| 亚洲天堂免费观看| 亚洲人成在线观| 久久91亚洲精品中文字幕奶水| 国产999精品久久久影片官网| 国内精品400部情侣激情| 狠狠操狠狠色综合网| 久久久999成人| 日韩美女在线观看一区| 亚洲电影免费观看| 日本国产高清不卡| xvideos国产精品| 国产精品美女久久久久久免费| 国产视频在线观看一区二区| 97在线观看免费高清| 黑人巨大精品欧美一区二区三区| 尤物99国产成人精品视频| 欧美孕妇性xx| 亚洲欧洲一区二区三区久久| 欧美日韩免费在线观看| 91大神福利视频在线| 日本精品在线视频| 久久久久久久影院| 日韩在线欧美在线| 欧美乱人伦中文字幕在线| 精品国产一区二区三区久久狼黑人| 国产日韩精品在线观看| 国产美女久久久| 欧美午夜影院在线视频| 国产美女91呻吟求| 成人黄色大片在线免费观看| 亚洲自拍小视频| 日韩av最新在线观看| 亚洲天堂男人的天堂| 国产免费一区视频观看免费| 国产91露脸中文字幕在线| 久久精品99久久久香蕉| 久久久精品一区二区三区| 亚洲最大成人在线| 欧美重口另类videos人妖| 亚洲男人天堂手机在线| 欧美午夜激情视频| 在线免费观看羞羞视频一区二区| 中文字幕v亚洲ⅴv天堂| 欧美国产日本在线| 欧美激情喷水视频| 欧美视频在线观看免费| 日韩av免费在线看| 91精品国产91久久久久久| 亚洲最大福利视频| 最近2019中文字幕mv免费看| 成人性生交大片免费观看嘿嘿视频| 精品国产自在精品国产浪潮| 国产精品美女主播在线观看纯欲| 欧美精品手机在线| 久久精品99久久久久久久久| 91九色国产社区在线观看| 日韩在线观看网站| 国产一区二区三区日韩欧美| 成人免费福利在线| 久久免费视频网| 搡老女人一区二区三区视频tv| 日韩一区二区在线视频| 欧美成人精品在线观看| 亚洲成人亚洲激情| 中文字幕亚洲国产| 国产精品久久久久久久久借妻| 日韩高清电影免费观看完整| 亚洲午夜久久久久久久| 久久免费成人精品视频| 日韩久久精品成人| 亚洲2020天天堂在线观看| 国产乱人伦真实精品视频| 中文字幕亚洲在线| 狠狠躁夜夜躁人人躁婷婷91|