在为dml编写null值与默认值的空值有什么区别。编写无效的价值是不良的做法吗?何时决定要改编哪种方法。
null将存储一个字节标志以及数据,其中null('')不存储一个字节标志,此外,字段中的任何空白值都将被视为null IE,它具有"默认情况下,将其等于零。因此,使用默认值的null是很好的做法。
sarveshmishra是正确的。要回答问题的另一部分 - 是否是好习惯取决于您使用记录格式的方式。
null作为字节标志主要是一个明确的(即与真实数据相撞的风险)表示为null以供null以供您从头算出,这是以额外的记录宽度为代价的。
有益于:当图表内和之间需要严格正确的零处理时(以及可接受记录宽度和翻译(重构)成本时)
对>不利:基于文件的数据与源和目标系统的互换。(请注意,通过散装加载程序(例如SQL Server BCP)的数据库输出是基于文件的)
null(默认)将null编码为特定字符序列(或零宽字符串)。所选的编码必须与上游/下游匹配接口合同,否则存在数据碰撞的风险(例如:在数据库中,"<> null,但null(")将"视为null)。p> 有益于:数据交换上游/下游,或者在null之间的区别并不重要。
对不好:保证严格的零处理。
对于严格的无效处理和碰撞零风险的数据交换,另一种策略是在接口合同中定义明确的空标志。