2014-02-24 56 views
3

我很疑惑SQL中NULL值是什麼。 NULL我認爲是空的。什麼是SQL中的NULL?

那麼它會包含任何垃圾值或未知的值,或像整數或空白字符中的0?

+0

NULL是一個值。 – MTilsted

+0

@MTilsted:不,它不是。這是價值的*缺席*。 –

+1

@a_horse_with_no_name: - 非常正確。或者更好地說未知的值,因爲OP可能會誤解它,並可能認爲它與空相同;) –

回答

2

具有NULL值的字段是沒有值的字段。理解NULL值不同於零值或包含空格的字段是非常重要的。

如果表中的列是可選的,我們可以插入新記錄或更新現有記錄而不向此列添加值。這意味着該字段將被保存爲NULL值。

NULL值的處理方式與其他值不同。

NULL用作未知或不適用值的佔位符。 瞭解更多關於here

1

空不空,但實際上它被認爲是UKNOWN值,從dumentation

概念上,NULL意味着「缺少未知值」,它是從其他值處理有所不同。

你可以準備更多here

2

它是表示一個數據值不會在database.NULL存在也用於識別空特殊標記的SQL保留關鍵字。

NULL表示「缺少一個未知值」,它的處理方式與其他值有所不同。

具有NULL值的字段是沒有值的字段。理解NULL值不同於零值或包含空格的字段是非常重要的。

10 * NULL   -- Result is NULL 

Null (SQL)

SQL NULL

Working with NULL Values

2

NULL是用於表示未知/缺失數據的關鍵字。

假設您的表格中有一個可選列。您可以插入新記錄或更新現有記錄,而無需向此列添加值。這意味着該字段將被保存爲NULL值。

檢查this瞭解更多詳情。

3

在簡單的世界中,您可以說Null不是數據值,而是未知值的標記

因此,對NULL執行的任何數學運算都會導致NULL。例如,

10 + NULL = NULL

同樣,如果你做字符串連接用繩子你: -

'String ' || NULL || 'Concatenation' -- Result is NULL 

所以,你可以說,空意味着要麼 「不適用」 或「不知道」:它不等於零(0)或任何其他默認值,但更重要的是,null與SQL中的其他值的處理方式截然不同,因爲它實際上沒有值。

例如解釋什麼,當我們說NULL意味着未知值這意味着:

StudentName TestResult 
X    78 
A    89 
B    67 
C    NULL 

所以你可以看到,學生C測試了NULL標誌。那麼 是什麼意思?

現在人們可以說,學生不會參加考試,也可能是學生的數據不可用。但這絕對不意味着學生得分爲0(就好像你給學生分配了0,那麼這將意味着學生出現在考試中並且得到了零點)。我們可以說所有學生的數據是

UNKNOWN或NULL