2017-09-05 74 views

回答

2

NULL將存儲一個字節標誌以及數據,其中Null('')不存儲一個字節標誌,另外字段中的任何空白值都將被視爲Null,即它默認爲「」,並將其視爲默認值爲空。所以使用null與默認值的好習慣。

+0

你可以告訴一個字節標誌的目的是什麼? – Omniverse10

0

Sarveshmishra是正確的。回答你的問題的其他部分 - 這是否是好的做法取決於你如何使用記錄格式。


NULL作爲字節標誌主要是明確的(即沒有真實數據碰撞的風險)爲NULL從頭算中使用的表示其需要支付額外的記錄寬度的成本。

適合:基於文件的數據:當完全正確空操作距離和圖表(當記錄寬度和翻譯(格式化)的成本是可以接受的)

之間需要與源系統和目標系統交換。 (注意通過批量載入(例如SQL服務器BCP該數據庫輸出)基於文件。)


NULL(默認)編碼NULL作爲一個特定的字符序列(或零寬度字符串)。選擇的編碼必須與上游/下游的接口契約匹配,否則會有數據衝突的風險(例如:在數據庫中,「NULL」,但NULL(「」)將NULL視爲NULL)。

適用於:數據交換上游/下游,或者區分例如「」和NULL之間的區別並不重要。

不好:保證嚴格的空處理。


對於數據交換與嚴格的空處理和碰撞的零風險,另一種策略是在接口承包合同,約定明確的空標誌。

相關問題