亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來到思海網絡,我們將竭誠為您提供優質的服務! 誠征網絡推廣 | 網站備案 | 幫助中心 | 軟件下載 | 購買流程 | 付款方式 | 聯系我們 [ 會員登錄/注冊 ]
促銷推廣
客服中心
業務咨詢
有事點擊這里…  531199185
有事點擊這里…  61352289
點擊這里給我發消息  81721488
有事點擊這里…  376585780
有事點擊這里…  872642803
有事點擊這里…  459248018
有事點擊這里…  61352288
有事點擊這里…  380791050
技術支持
有事點擊這里…  714236853
有事點擊這里…  719304487
有事點擊這里…  1208894568
有事點擊這里…  61352289
在線客服
有事點擊這里…  531199185
有事點擊這里…  61352288
有事點擊這里…  983054746
有事點擊這里…  893984210
當前位置:首頁 >> 技術文章 >> 文章瀏覽
技術文章

MySQL中與NULL值有關的疑難問題

添加時間:2014-3-1 17:23:33  添加: 思海網絡 

  對于SQL的新手,NULL值的概念常常會造成混淆,他們常認為NULL是與空字符串''相同的事。情況并非如此。例如,下述語句是完全不同的:

 

MySQL> INSERT INTO my_table (phone) VALUES (NULL);
mysql
> INSERT INTO my_table (phone) VALUES ('');  

 

  這兩條語句均會將值插入phone(電話)列,但第1條語句插入的是NULL值,第2條語句插入的是空字符串。第1種情況的含義可被解釋為“電話號碼未知”,而第2種情況的含義可被解釋為“該人員沒有電話,因此沒有電話號碼”。

  為了進行NULL處理,可使用IS NULL和IS NOT NULL操作符以及IFNULL()函數。

  在SQL中,NULL值與任何其它值的比較(即使是NULL)永遠不會為“真”。包含NULL的表達式總是會導出NULL值,除非在關于操作符的文檔中以及表達式的函數中作了其他規定。下述示例中的所有列均返回NULL:

 

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

 

  如果打算搜索列值為NULL的列,不能使用expr = 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 = '';  

 

  更多信息和示例:

  如果你正在使用MyISAM、InnoDB、BDB、或MEMORY存儲引擎,能夠在可能具有NULL值的列上增加1條索引。如不然,必須聲明索引列為NOT NULL,而且不能將NULL插入到列中。

  用LOAD DATA INFILE讀取數據時,對于空的或丟失的列,將用''更新它們。如果希望在列中具有NULL值,應在數據文件中使用\N。在某些情況下,也可以使用文字性單詞“NULL”。

  使用DISTINCT、GROUP BY或ORDER BY時,所有NULL值將被視為等同的。

  使用ORDER BY時,首先將顯示NULL值,如果指定了DESC按降序排列,NULL值將最后顯示。

  對于聚合(累計)函數,如COUNT()、MIN()和SUM(),將忽略NULL值。對此的例外是COUNT(*),它將計數行而不是單獨的列值。例如,下述語句產生兩個計數。首先計數表中的行數,其次計數age列中的非NULL值數目:

 

mysql> SELECT COUNT(*), COUNT(age) FROM person;

 

  對于某些列類型,MySQL將對NULL值進行特殊處理。如果將NULL插入TIMESTAMP列,將插入當前日期和時間。如果將NULL插入具有AUTO_INCREMENT屬性的整數列,將插入序列中的下一個編號。

關鍵字:MySQL、數據

分享到:

頂部 】 【 關閉
版權所有:佛山思海電腦網絡有限公司 ©1998-2024 All Rights Reserved.
聯系電話:(0757)22630313、22633833
中華人民共和國增值電信業務經營許可證: 粵B1.B2-20030321 備案號:粵B2-20030321-1
網站公安備案編號:44060602000007 交互式欄目專項備案編號:200303DD003  
察察 工商 網安 舉報有獎  警警  手機打開網站