2017-09-05 69 views

回答

2

NULL将存储一个字节标志以及数据,其中Null('')不存储一个字节标志,另外字段中的任何空白值都将被视为Null,即它默认为“”,并将其视为默认值为空。所以使用null与默认值的好习惯。

+0

你可以告诉一个字节标志的目的是什么? – Omniverse10

0

Sarveshmishra是正确的。回答你的问题的其他部分 - 这是否是好的做法取决于你如何使用记录格式。


NULL作为字节标志主要是明确的(即没有真实数据碰撞的风险)为NULL从头算中使用的表示其需要支付额外的记录宽度的成本。

适合:基于文件的数据:当完全正确空操作距离和图表(当记录宽度和翻译(格式化)的成本是可以接受的)

之间需要与源系统和目标系统交换。 (注意通过批量载入(例如SQL服务器BCP该数据库输出)基于文件。)


NULL(默认)编码NULL作为一个特定的字符序列(或零宽度字符串)。选择的编码必须与上游/下游的接口契约匹配,否则会有数据冲突的风险(例如:在数据库中,“NULL”,但NULL(“”)将NULL视为NULL)。

适用于:数据交换上游/下游,或者区分例如“”和NULL之间的区别并不重要。

不好:保证严格的空处理。


对于数据交换与严格的空处理和碰撞的零风险,另一种策略是在接口承包合同,约定明确的空标志。

相关问题