BIGINT

BIGINT
BIGINT
是 64 位有符号整型数据类型,占用 8 个字节存储空间,用于存储超出 INT 范围的大整数。

语法

BIGINT LONG

LONG
LONG
BIGINT
BIGINT
的别名,用于兼容其他数据库的迁移脚本。别名在解析时立即转换为规范类型,详见类型别名

值范围

边界
最小值-9,223,372,036,854,775,808
最大值9,223,372,036,854,775,807

字面量后缀:

L
L
(如
123456789L
123456789L
)。如果数值超出 INT 范围,即使不加
L
L
后缀也会自动识别为 BIGINT。

示例

  1. 使用 BIGINT 字面量后缀:

    SELECT 123456789L;

    返回:

    123456789
    123456789

  2. 将整数转换为 BIGINT(边界值):

    SELECT CAST(9223372036854775807 AS BIGINT), CAST(-9223372036854775808 AS BIGINT);

    返回:

    9223372036854775807
    9223372036854775807
    -9223372036854775808
    -9223372036854775808

  3. 将浮点数转换为 BIGINT(截断小数部分):

    SELECT CAST(123.456 AS BIGINT);

    返回:

    123
    123

  4. 溢出行为(超出范围返回 NULL):

    SELECT CAST(9223372036854775808 AS BIGINT);

    返回:

    NULL
    NULL

  5. NULL 值处理:

    SELECT CAST(NULL AS BIGINT);

    返回:

    NULL
    NULL

注意事项

  • 值范围为 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807,超出范围的 CAST 转换返回 NULL,不会报错。
  • 字面量后缀为
    L
    L
    (大小写均可),如
    1L
    1L
    -1L
    -1L
    。超出 INT 范围的整数字面量会自动视为 BIGINT。
  • 将浮点数转为 BIGINT 时,小数部分直接截断(不四舍五入)。
  • CAST 转换无效字符串(如
    'abc'
    'abc'
    )时返回 NULL。
  • 在需要存储 ID、时间戳毫秒数等大整数的场景中,BIGINT 是首选类型。
联系我们
预约咨询
微信咨询
电话咨询