1

有人能告诉我NULL值在数据库中是如何表示的吗?我假设大多数数据库必须对值使用相同的表示形式。NULL如果不是这样,你能告诉我至少一个实现吗?

我用谷歌搜索了这个,但没有成功。

4

2 回答 2

1

我假设大多数数据库必须对 NULL 值使用相同的表示。

我不会假设这一点,因为数据库人员对如何使布局(以及其他所有内容)尽可能高效进行了很多思考。他们中的一个很有可能对其他人产生不同的看法。

我知道 SQLServer 和 PostgreSQL 每行都使用一个空位图。我知道它在 PostgreSQL 中是可选的 - 如果没有可为空的字段,则完全跳过,并且不知道 SQLServer 是否属于这种情况。

因此,例如,第 3 和第 9 字段为空的 10 列行可能具有0000000100000100=的位图条目0x0103。或者可能是相反的 ( 0010000010000000= 0x2080) ,我真的不知道。

不过,我不会认为任何其他数据库都是如此。

于 2012-08-28T10:22:36.923 回答
0

为什么你需要“NULL”?最好不要使用它,因为查询可能会搞砸。

你试过这个吗? http://databases.about.com/cs/sql/a/aa042803a.htm

于 2012-08-28T10:15:53.187 回答