2010-06-17 68 views

回答

11

之間的任何差別是存在NULL值和空/空之間有很大的區別值。

這裏是描述差異的one resource

myText IS NULL

  • myText IS NOT NULL評估爲FALSE
  • myText != ''計算爲NULL(其行爲基本上一樣FALSE會在你寫了這個特定的情況下)

但是,你應該不要養成對待他們一樣的習慣,因爲大多數時候他們會有不同的表現:例如:

假設你有一個表tbl

id text 
1 NULL 
2  
3 abc 

注: 1包含NULL值,和2包含一個空字符串('')。

如果您運行下面的查詢:

SELECT * FROM tbl WHERE text != '' 

...這將返回記錄3.

如果您運行下面的查詢:

SELECT * FROM tbl WHERE text IS NOT NULL 

...這將返回記錄2和3.

2

是的,是有區別的。

在簡單的話,會將myText IS NOT NULL指定被會將myText具有一些值可能是 '' 太

凡爲會將myText!= ''指定它返回TRUE,會將myText如果不包含一個空字符串

1

有區別。如果列的默認值爲「NULL」,那麼如果沒有爲某個字段設置數據,則它確實爲空。但是,如果字段的值已更新爲「',它不是NULL,而是空的。

這裏瞭解更多信息Link

相關問題