做爰高潮a片〈毛片〉,尤物av天堂一区二区在线观看,一本久久A久久精品VR综合,添女人荫蒂全部过程av

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

數據庫中容易混淆空值

來源:懂視網 責編:小采 時間:2020-11-09 13:35:37
文檔

數據庫中容易混淆空值

數據庫中容易混淆空值:往往很多人都認為空值與空白或0值是一樣的,至少我在今天以前是這么認為的,其實空值并不與空白和0值是一回事。 Null值表示數值未知。沒有兩個相等的空值,比較兩個空值或空值和任意一個數比較返回的均是未知。 下面有以下從SQL 聯機叢書中的關于空值的信息
推薦度:
導讀數據庫中容易混淆空值:往往很多人都認為空值與空白或0值是一樣的,至少我在今天以前是這么認為的,其實空值并不與空白和0值是一回事。 Null值表示數值未知。沒有兩個相等的空值,比較兩個空值或空值和任意一個數比較返回的均是未知。 下面有以下從SQL 聯機叢書中的關于空值的信息

往往很多人都認為空值與空白或0值是一樣的,至少我在今天以前是這么認為的,其實空值并不與空白和0值是一回事。 Null值表示數值未知。沒有兩個相等的空值,比較兩個空值或空值和任意一個數比較返回的均是未知。 下面有以下從SQL 聯機叢書中的關于空值的信息

往往很多人都認為空值與空白或0值是一樣的,至少我在今天以前是這么認為的,其實空值并不與空白和0值是一回事。

Null值表示數值未知。沒有兩個相等的空值,比較兩個空值或空值和任意一個數比較返回的均是未知。

下面有以下從SQL 聯機叢書中的關于空值的信息:

  • 若要測試查詢中的空值,在where 子句中使用IS NULL 或 IS NOT NULL
  • 在SQL查詢結果時,空值在結果集內顯示為(null)
  • 可通過以下方法在列中插入NULL,在INSERT 或UPDATE中顯式聲明NULL,或不使此列進入INSERT
  • 不能將空值用于區分表中兩行所需的信息。
  • 如下數據庫截圖所示:

    空值顯示為 (null),而左下角則是空白,空白不代表沒有數據,它是插入了空格數據而產生的。

    又比如,下列語句是完全不同的:

    mysql> INSERT INTO table (name) VALUES (NULL);
    mysql> INSERT INTO table (name) VALUES ("");
    

    兩個語句把值插入到name列,但是第一個插入一個NULL值而第二個插入一個空字符串。第一個的含義可以認為是“名字不知道”,而第二個則可意味著“他沒有沒有”。

    在SQL中,NULL值在于任何其他值甚至NULL值比較時總是假的(FALSE)。包含NULL的一個表達式總是產生一個NULL值,除非在包含在表達式中的運算符和函數的文檔中指出。在下列例子,所有的列返回NULL:

    mysql> SELECT NULL,1+NULL,CONCAT('Invisible',NULL);
    

    如果你想要尋找值是NULL的列,你不能使用=NULL測試。下列語句不返回任何行,因為對任何表達式,expr = NULL是假的:

    mysql> SELECT * FROM my_table WHERE phone = NULL;
    

    要想尋找NULL值,你必須使用IS NULL測試。下例顯示如何找出NULL電話號碼和空的電話號碼:

    mysql> SELECT * FROM my_table WHERE phone IS NULL;
    mysql> SELECT * FROM my_table WHERE phone = "";
    

    在MySQL中,就像很多其他的SQL服務器一樣,你不能索引可以有NULL值的列。你必須聲明這樣的列為NOT NULL,而且,你不能插入NULL到索引的列中。

    當用LOAD DATA INFILE讀取數據時,空列用''更新。如果你想要在一個列中有NULL值,你應該在文本文件中使用N。字面上的詞'NULL'也可以在某些情形下使用。見7.16 LOAD DATA INFILE句法。

    當使用ORDER BY時,首先呈現NULL值。如果你用DESC以降序排序,NULL值最后顯示。當使用GROUP BY時,所有的NULL值被認為是相等的。

    為了有助于NULL的處理,你能使用IS NULL和IS NOT NULL運算符和IFNULL()函數。

    對某些列類型,NULL值被特殊地處理。如果你將NULL插入表的第一個TIMESTAMP列,則插入當前的日期和時間。如果你將NULL插入一個AUTO_INCREMENT列,則插入順序中的下一個數字。

    在《SQL-3參考大全》中,作者這樣解釋NULL的含義:未知或未定義。對NULL來說,有很多有趣的特性。

    NULL是一個數據值,而且它屬于一個域(?)。是的,例如一個字符串字段,其中的空值只能是一個字符串。盡管它的內容沒有定義,或者未知,但它是字符串,這一點無可置疑。

    NULL不是非法數據,這一點SQL-3 標準也說的很清楚。我們沒有辦法保存零分之一,但可以保存空值。雖然它是空值,是未定義,是未知,可它也的確是一個合法的信息。

    運算黑洞:對于NULL,一般的運算都會返回NULL。比如加減乘除,這簡直就是一個黑洞一樣。永遠不會有什么數據等于NULL。當然,1不等于NULL,2也一樣。可是,NULL也不等于NULL。說一個NULL等于NULL是錯誤的。所以我們只能比較它“是”或“不是”。為了避免混亂,SQL-3標準有一些約定。比如表達式 x=NULL,結果應當是UNKOWN 。 而表達式“x is NULL”,就得看情況,如果x是NULL或 False,就返回Ture(?);x是非NULL,返回False。有點奇怪是不是,它基于NULL不等于NULL。 這個規則的確為SQL標準所支持,遇到這樣的數據庫系統,可不要感到驚訝。

    三值邏輯:《鹿鼎記》中的韋小寶,整人的秘訣之一就是“我問你話,是就點頭,不是就搖頭,不許你出聲!”的確,通常我們的邏輯觀點,總是基于這種二值邏輯體系,對就是對,錯就是錯。可在關系理論中,沒有這么簡單。有一種沒有絕對是非的情況存在:NULL。這就是關系理論的三值邏輯。

    還有一些常見的與NULL相關的情況。比如,統計函數(也有的文檔稱之為聚集函數、集函數)通常會忽略NULL。不過,假設有這樣一個表T:

    C
    -----
    1	
    2
    NULL
    NULL	
    

    我們分別執行兩個查詢:SELECT COUNT(*) FROM T和SELECT COUNT(C) FROM T, 猜猜會有什么不同?起初,我以為兩個結果應當一樣。結果,前一個是4,后一個是2。前一個等于4,顯然基于NULL也是數據這個事實;而后一個結果為2,是由于統計C列時,COUNT忽略了NULL。

    SQL-3標準中,搜索條件(WHERE和HAVING)只接受TRUE,而約束卻只拒絕FALSE,二者對NULL的接受態度相反。所以我們前面見到的ROOMS表才可以把空值寫入人員字段。而在排序時,卻又沒什么規律。SQL標準只作出了一個補充定義,所以每個DBMS的處理 ORDER BY的方法并不相同,當然NULL不是高于所有值就是低于所有值。

    在《SQL-3參考大全》中介紹了更詳細的關于NULL的內容。另外,書中還介紹了兩位數據庫專家C.J.Date和E.f.Codd關于NULL的不同論點(E.F.Codd甚至希望有四值邏輯)有興趣的朋友可以找來一讀。在實踐中,我們還會遇到一些有趣的事,特別是聯接查詢中, NULL讓我們的人生變得 “豐富多彩”。

    聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

    文檔

    數據庫中容易混淆空值

    數據庫中容易混淆空值:往往很多人都認為空值與空白或0值是一樣的,至少我在今天以前是這么認為的,其實空值并不與空白和0值是一回事。 Null值表示數值未知。沒有兩個相等的空值,比較兩個空值或空值和任意一個數比較返回的均是未知。 下面有以下從SQL 聯機叢書中的關于空值的信息
    推薦度:
    標簽: 數據 空白 人都
    • 熱門焦點

    最新推薦

    猜你喜歡

    熱門推薦

    專題
    Top
    主站蜘蛛池模板: 巴塘县| 兴仁县| 电白县| 深泽县| 郑州市| 盐源县| 青神县| 克拉玛依市| 兴国县| 邵阳市| 平潭县| 昭平县| 淮安市| 新巴尔虎左旗| 兴义市| 永城市| 武城县| 常山县| 镶黄旗| 皮山县| 巴中市| 义马市| 准格尔旗| 嵩明县| 武陟县| 农安县| 达孜县| 怀化市| 宁蒗| 犍为县| 沭阳县| 疏附县| 慈利县| 宁河县| 萨迦县| 灵璧县| 宝鸡市| 乐安县| 囊谦县| 松阳县| 全州县|