↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

百科 / 数据类型 / 数值

smallint

有符号两字节整数

当前查看 PostgreSQL 18。

中文定义与说明

有符号两字节整数

同版本中文手册节选

数字类型包括 2、4、8 字节的整数,4、8 字节的浮点数,以及可选精度的小数。表 8.2 列出了所有可用类型。

数字类型常量的语法在第 4.1.2 节里描述。数字类型有一整套对应的算术操作符和函数。相关信息请参考第 9 章。下面的几节详细描述这些类型。

查看完整中文手册与上下文。

PG10–20 核心源码清单。类型转换与操作符类列出源码显式声明的关系;缺少记录不能排除通过其他机制进行转换或使用索引。

定义

SQL 名称与别名: int2

有符号两字节整数

smallint
目录名称
pg_catalog.int2
类型 OID
21
类型种类
基础类型
声明长度
2 字节
存储策略
plain
输入函数
int2in
输出函数
int2out
手册中的声明
smallint
存储大小
2 字节
手册说明
小范围整数
范围
-32768 到 +32767

系统目录属性

此构建的源码初始化值。字段含义参见 pg_type 。包含头文件默认值;依赖构建的常量保留符号形式,不作为服务器运行时实测。

oid
21
descr
-32 thousand to 32 thousand, 2-byte storage
typacl
_null_
typlen
2
typelem
0
typname
int2
typsend
int2send
typtype
b
typalign
s
typarray
0
typbyval
t
typdelim
','
typinput
int2in
typmodin
-
typndims
0
typowner
POSTGRES
typrelid
0
typmodout
-
typoutput
int2out
typtypmod
-1
typanalyze
-
typdefault
_null_
typnotnull
f
typreceive
int2recv
typstorage
p
typbasetype
0
typcategory
N
typcollation
0
typisdefined
t
typnamespace
pg_catalog
typsubscript
-
typdefaultbin
_null_
array_type_oid
1005
typispreferred
f
array_type_name
_int2

类型转换 25

与此类型相关的显式 pg_cast 记录。PostgreSQL 还支持 pg_cast 之外的类型转换,缺少记录不能证明转换不可能。

源类型目标类型转换上下文转换方式函数
int8int2赋值函数int2(int8)
int2int8隐式函数int8(int2)
int2int4隐式函数int4(int2)
int2float4隐式函数float4(int2)
int2float8隐式函数float8(int2)
int2numeric隐式函数numeric(int2)
int4int2赋值函数int2(int4)
float4int2赋值函数int2(float4)
float8int2赋值函数int2(float8)
numericint2赋值函数int2(numeric)
int2oid隐式函数int4(int2)
int2regproc隐式函数int4(int2)
int2regprocedure隐式函数int4(int2)
int2regoper隐式函数int4(int2)
int2regoperator隐式函数int4(int2)
int2regclass隐式函数int4(int2)
int2regcollation隐式函数int4(int2)
int2regtype隐式函数int4(int2)
int2regconfig隐式函数int4(int2)
int2regdictionary隐式函数int4(int2)
int2regrole隐式函数int4(int2)
int2regnamespace隐式函数int4(int2)
int2bytea显式函数bytea(int2)
byteaint2显式函数int2(bytea)
jsonbint2显式函数int2(jsonb)

运算符重载 63

每种操作数签名均为独立重载。实现函数和返回类型来自同一源码构建。

运算符左操作数右操作数返回类型含义实现函数
=int2int2bool等于。int2eq
<int2int2bool小于。int2lt
<>int2int2bool不等于。int2ne
>int2int2bool大于。int2gt
<=int2int2bool小于或等于。int2le
>=int2int2bool大于或等于。int2ge
*int2int2int2相乘。int2mul
/int2int2int2相除。int2div
%int2int2int2取余。int2mod
=int2int4bool等于。int24eq
=int4int2bool等于。int42eq
<int2int4bool小于。int24lt
<int4int2bool小于。int42lt
>int2int4bool大于。int24gt
>int4int2bool大于。int42gt
<>int2int4bool不等于。int24ne
<>int4int2bool不等于。int42ne
<=int2int4bool小于或等于。int24le
<=int4int2bool小于或等于。int42le
>=int2int4bool大于或等于。int24ge
>=int4int2bool大于或等于。int42ge
*int2int4int4相乘。int24mul
*int4int2int4相乘。int42mul
/int2int4int4相除。int24div
/int4int2int4相除。int42div
+int2int2int2相加。int2pl
+int2int4int4相加。int24pl
+int4int2int4相加。int42pl
-int2int2int2相减。int2mi
-int2int4int4相减。int24mi
-int4int2int4相减。int42mi
-无(一元)int2int2取负。int2um
@无(一元)int2int2绝对值。int2abs
+int8int2int8相加。int82pl
-int8int2int8相减。int82mi
*int8int2int8相乘。int82mul
/int8int2int8相除。int82div
+int2int8int8相加。int28pl
-int2int8int8相减。int28mi
*int2int8int8相乘。int28mul
/int2int8int8相除。int28div
*moneyint2money相乘。cash_mul_int2
/moneyint2money相除。cash_div_int2
*int2moneymoney相乘。int2_mul_cash
=int2int8bool等于。int28eq
<>int2int8bool不等于。int28ne
<int2int8bool小于。int28lt
>int2int8bool大于。int28gt
<=int2int8bool小于或等于。int28le
>=int2int8bool大于或等于。int28ge
=int8int2bool等于。int82eq
<>int8int2bool不等于。int82ne
<int8int2bool小于。int82lt
>int8int2bool大于。int82gt
<=int8int2bool小于或等于。int82le
>=int8int2bool大于或等于。int82ge
&int2int2int2按位与。int2and
|int2int2int2按位或。int2or
#int2int2int2按位异或。int2xor
~无(一元)int2int2按位取反。int2not
<<int2int4int2按位左移。int2shl
>>int2int4int2按位右移。int2shr
+无(一元)int2int2一元正号。int2up

操作符类 5

声明输入类型与此类型相符的操作符类。多态操作符类、类型转换和表达式索引还可能提供其他索引路径;不能仅凭此表判断是否支持索引。

操作符类索引方法输入类型操作符族默认存储类型
int2_opsbtreeint2btree/integer_ops是与输入类型相同
int2_opshashint2hash/integer_ops是与输入类型相同
int2_minmax_opsbrinint2brin/integer_minmax_ops是int2
int2_minmax_multi_opsbrinint2brin/integer_minmax_multi_ops否int2
int2_bloom_opsbrinint2brin/integer_bloom_ops否int2

版本比较

PostgreSQL 17 → 18。属性比较不包含构建标识和说明正文;原始目录字段与源描述保留原文。

类型转换

PostgreSQL 17

[{"castcontext": "a", "castfunc": "int2(float4)", "castmethod": "f", "castsource": "float4", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(float8)", "castmethod": "f", "castsource": "float8", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(int4)", "castmethod": "f", "castsource": "int4", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(int8)", "castmethod": "f", "castsource": "int8", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(numeric)", "castmethod": "f", "castsource": "numeric", "casttarget": "int2"}, {"castcontext": "e", "castfunc": "int2(jsonb)", "castmethod": "f", "castsource": "jsonb", "casttarget": "int2"}, {"castcontext": "i", "castfunc": "float4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "float4"}, {"castcontext": "i", "castfunc": "float8(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "float8"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "int4"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "oid"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regclass"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regcollation"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regconfig"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regdictionary"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regnamespace"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regoper"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regoperator"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regproc"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regprocedure"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regrole"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regtype"}, {"castcontext": "i", "castfunc": "int8(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "int8"}, {"castcontext": "i", "castfunc": "numeric(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "numeric"}]

PostgreSQL 18

[{"castcontext": "a", "castfunc": "int2(float4)", "castmethod": "f", "castsource": "float4", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(float8)", "castmethod": "f", "castsource": "float8", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(int4)", "castmethod": "f", "castsource": "int4", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(int8)", "castmethod": "f", "castsource": "int8", "casttarget": "int2"}, {"castcontext": "a", "castfunc": "int2(numeric)", "castmethod": "f", "castsource": "numeric", "casttarget": "int2"}, {"castcontext": "e", "castfunc": "bytea(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "bytea"}, {"castcontext": "e", "castfunc": "int2(bytea)", "castmethod": "f", "castsource": "bytea", "casttarget": "int2"}, {"castcontext": "e", "castfunc": "int2(jsonb)", "castmethod": "f", "castsource": "jsonb", "casttarget": "int2"}, {"castcontext": "i", "castfunc": "float4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "float4"}, {"castcontext": "i", "castfunc": "float8(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "float8"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "int4"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "oid"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regclass"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regcollation"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regconfig"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regdictionary"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regnamespace"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regoper"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regoperator"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regproc"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regprocedure"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regrole"}, {"castcontext": "i", "castfunc": "int4(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "regtype"}, {"castcontext": "i", "castfunc": "int8(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "int8"}, {"castcontext": "i", "castfunc": "numeric(int2)", "castmethod": "f", "castsource": "int2", "casttarget": "numeric"}]

文档与源码

构建
18.6 · https://ftp.postgresql.org/pub/source/v18.6/postgresql-18.6.tar.bz2
指纹
555610c24d53e4316da5b7d3fc25c279d96856d5e0e23ee308c328c5fa881d9f

相关条目

全部数据类型 · 下载此版本 JSON · 最早收录的样本不代表该类型的实际引入版本。