我想在Oracle中基本上有一个“id”类型。
满足我需求的一个例子是32/64位整数,其中NULL
表示为-INT_MIN
。
我不需要这是可变长度(如NUMBER
)。我考虑使用RAW
,但我不相信存在从RAW
到整数的隐式转换。
似乎选项是BINARY_DOUBLE
。这是最好的方法吗?
答案 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