【问题标题】:What is the replacement data type in Informix for MySQL's BIGINT?Informix 中 MySQL 的 BIGINT 的替换数据类型是什么?
【发布时间】:2012-02-23 06:31:34
【问题描述】:

我想在我的 Informix 表中存储大整数值,例如 MySQL bigint。但是 Informix 没有数据类型 bigint。我必须改用什么数据类型?

【问题讨论】:

  • 始终指定您使用的 Informix 版本以及您使用它的平台。

标签: mysql sql informix


【解决方案1】:

在所有平台(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,在符号幅度机器或 1 的补码机器上为 -0)保留用作 NULL。


1对于“歇斯底里的葡萄干”,请阅读“历史原因”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-12
    • 2018-07-29
    • 2011-05-06
    • 1970-01-01
    • 2011-05-23
    • 2019-08-21
    • 2015-03-10
    相关资源
    最近更新 更多