新聞
: QA問答中心裡頭 的LINUX版本 是Fedora Core4
使用者若有發生相關問題 請至此區反應 謝謝
首頁
說明
搜尋
日曆
登入
註冊
歡迎光臨,
訪客
. 請先
登入
或
註冊一個帳號
.
二月 07, 2012, 06:50:53 pm
一小時
一天
一週
一個月
永遠
請輸入帳號, 密碼以及預計登入時間
開放原碼軟體社群討論區
>
開放原碼軟體標準作業程序書
>
資料庫伺服器
>
[FAQ] NULL值問題
頁: [
1
]
向下
« 上篇主題
下篇主題 »
列印
作者
主題: [FAQ] NULL值問題 (閱讀 7215 次)
0 會員 以及 1 訪客 正在閱讀本篇主題.
cosa
Administrator
Full Member
Karma: +1/-0
離線
文章: 225
[FAQ] NULL值問題
«
於:
二月 26, 2005, 10:45:24 pm »
NULL值的概念是造成SQL的新手的混淆的普遍原因,他們經常認為NULL是和一個空字符串''的一樣的東西。
不是這樣的!
例如,下列語句是完全不同的:
mysql> INSERT INTO my_table (phone) VALUES (NULL);
mysql> INSERT INTO my_table (phone) VALUES ("");
兩個語句把值插入到phone列,但是第一個插入一個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'也可以在某些情形下使用。
當使用ORDER BY時,首先呈現NULL值。如果你用DESC以降序排序,NULL值最後顯示。
當使用GROUP BY時,所有的NULL值被認為是相等的。為了有助于NULL的處理,你能使用IS NULL和IS NOT NULL運算符和IFNULL()函數。
對某些列類型,NULL值被特殊地處理。如果你將NULL插入表的第一個TIMESTAMP列,則插入當前的日期和時間。
如果你將NULL插入一個AUTO_INCREMENT列,則插入順序中的下一個數字。
«
最後編輯時間: 一月 01, 1970, 08:00:00 am 由 NULL
»
已記錄
頁: [
1
]
向上
列印
« 上篇主題
下篇主題 »
前往:
請選擇目的地:
-----------------------------
[自由軟體應用 自我能力測驗]
-----------------------------
=> 一般性議題
=> 辦公室軟體題庫
=> 桌面應用題庫
=> 資訊安全題庫
=> 網路應用題庫
=> 其他題庫
-----------------------------
近期活動看板
-----------------------------
=> 自由軟體相關活動
-----------------------------
中文參考平台套件
-----------------------------
===> 待解決之問題
===> 已解決之問題
=> 一般性議題
=> 輸入法
=> 字型處理
=> 辦公室應用
-----------------------------
開放原碼軟體標準作業程序書
-----------------------------
=> 防火牆
=> 檔案共享伺服器
=> 電子郵件伺服器
=> 資料庫伺服器
=> 網頁伺服器及內容管理系統(CMS)
=> Linux 作業系統
-----------------------------
一般類別
-----------------------------
=> 問題反映及建議事項
載入...