SMALLINT

16 位有符号整型(SMALLINT)占用 2 个字节存储空间,适合存储范围在 -32768 到 32767 之间的整数值,比 INT 更节省存储空间。

语法

SMALLINT SHORT

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

值范围

边界
最小值-32768
最大值32767

字面量后缀:

S
S
(如
100S
100S
-32768S
-32768S

示例

  1. 使用 SMALLINT 字面量后缀:

    SELECT 100S;

    返回:

    100
    100

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

    SELECT CAST(32767 AS SMALLINT), CAST(-32768 AS SMALLINT);

    返回:

    32767
    32767
    -32768
    -32768

  3. 将字符串转换为 SMALLINT:

    SELECT CAST('1000' AS SMALLINT);

    返回:

    1000
    1000

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

    SELECT CAST(32768 AS SMALLINT);

    返回:

    NULL
    NULL

  5. NULL 值处理:

    SELECT CAST(NULL AS SMALLINT);

    返回:

    NULL
    NULL

注意事项

  • 值范围为 -32768 到 32767,超出范围的 CAST 转换返回 NULL,不会报错。
  • 字面量后缀为
    S
    S
    (大小写均可),如
    100S
    100S
    -32768S
    -32768S
  • SMALLINT 参与算术运算时,结果类型可能自动提升为 INT,避免中间结果溢出。
  • 对于超出范围的整数,应使用
    INT
    INT
    BIGINT
    BIGINT
  • CAST 转换无效字符串(如
    'abc'
    'abc'
    )时返回 NULL。
联系我们
预约咨询
微信咨询
电话咨询