有人能告诉我数据库中的NULL
值是如何表示的。我假设大多数数据库必须使用相同的NULL
值表示。如果不是这样,你能告诉我至少一个实现吗?
我用Google搜索了一下但没有取得多大成功。
答案 0 :(得分:1)
我假设大多数数据库必须使用相同的NULL值表示。
我不会假设这一点,因为数据库人员在如何使布局(以及其他所有内容)尽可能高效方面付出了很多心思。他们中的一个很有可能对其他人产生不同的看法。
我知道SQLServer和PostgreSQL每行使用一个空位图。我知道它在PostgreSQL中是可选的 - 所以如果没有可空字段则完全跳过,并且不知道SQLServer是否属于这种情况。
所以,例如第3和第9个字段为空的十列行可能具有0000000100000100
= 0x0103
的位图条目。或者它可能反过来(0010000010000000
= 0x2080
),老实说我不知道。
我不会认为它适用于任何其他数据库。
答案 1 :(得分:0)
为什么你需要“NULL”? 最好不要使用它,因为查询可能搞砸了。
你尝试过这个吗? http://databases.about.com/cs/sql/a/aa042803a.htm