Oracle:二进制整数类型

时间:2011-08-12 03:14:21

标签: oracle

我想在Oracle中基本上有一个“id”类型。

满足我需求的一个例子是32/64位整数,其中NULL表示为-INT_MIN

我不需要这是可变长度(如NUMBER)。我考虑使用RAW,但我不相信存在从RAW到整数的隐式转换。

似乎选项是BINARY_DOUBLE。这是最好的方法吗?

2 个答案:

答案 0 :(得分:3)

使用NUMBER(10, 0),相当于NUMBER(10)BINARY_DOUBLE是浮点表示,而不是整数。我想,除非你有特定的理由这样做,否则不要猜测数据库。您可能正在谈论CBO可以做的幕后数据优化(虽然我不知道是否有)。你说你想要一个整数,所以要使用整数。

为什么要将NULL表示为-INT_MIN?将NULL表示为NULL。

答案 1 :(得分:0)

不确定您的整个要求,但是看起来您是正确的:

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/datatype.htm#i16209