我想在我的Informix表中存储大的整数值,例如MySQL bigint
。但是Informix没有数据类型bigint
。我必须使用什么数据类型?
答案 0 :(得分:2)
在所有平台(32位和64位)上的当前版本的Informix Dynamic Server(即IDS版本11.x)上,有一个数据类型BIGINT,它是一个8字节的整数(和匹配的BIGSERIAL)
对于歇斯底里的葡萄干 1 ,还有第二对类型:INT8和SERIAL8。然而(这是歇斯底里的位),它们在磁盘上占用10个字节而不是8个。我不推荐它们。任何给定的表都可以有BIGSERIAL或SERIAL8列,但不能同时包含两者;你也可以有SERIAL列,但为什么你需要更大的数字。 (还有一些序列用于生成以1以外的值递增的数字,但它们比(BIG)SERIAL(8)列使用起来更加频繁。)
如果您没有BIGINT,则必须使用Informix的过期版本。
Informix整数数据类型有一个问题。有效值的范围是对称的。例如,SMALLINT的有效范围是±32767。奇数球值(2的补码机器上的-32768,或者符号幅度机器上的-0或1的补码机器)保留用作NULL。
1 对于“歇斯底里的葡萄干”,请阅读“历史原因”。