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

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

百科 / 数据类型 / 数值

numeric

可指定精度的精确数值

当前查看 PostgreSQL 18。

中文定义与说明

可指定精度的精确数值

同版本中文手册定义

numeric可变用户指定精度,精确最高小数点前 131072 位,以及小数点后 16383 位

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

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

定义

SQL 名称与别名: decimal [ ( p , s ) ]

可指定精度的精确数值

numeric [ ( p , s ) ]
目录名称
pg_catalog.numeric
类型 OID
1700
类型种类
基础类型
声明长度
变长(varlena)
存储策略
main
输入函数
numeric_in
输出函数
numeric_out
手册中的声明
decimal
存储大小
可变
手册说明
用户指定精度,精确
范围
小数点前最多 131072 位,小数点后最多 16383 位
手册中的声明
numeric

系统目录属性

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

oid
1700
descr
'numeric(precision, scale)' arbitrary precision number
typacl
_null_
typlen
-1
typelem
0
typname
numeric
typsend
numeric_send
typtype
b
typalign
i
typarray
0
typbyval
f
typdelim
','
typinput
numeric_in
typmodin
numerictypmodin
typndims
0
typowner
POSTGRES
typrelid
0
typmodout
numerictypmodout
typoutput
numeric_out
typtypmod
-1
typanalyze
-
typdefault
_null_
typnotnull
f
typreceive
numeric_recv
typstorage
m
typbasetype
0
typcategory
N
typcollation
0
typisdefined
t
typnamespace
pg_catalog
typsubscript
-
typdefaultbin
_null_
array_type_oid
1231
typispreferred
f
array_type_name
_numeric

类型转换 14

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

源类型目标类型转换上下文转换方式函数
int8numeric隐式函数numeric(int8)
int2numeric隐式函数numeric(int2)
int4numeric隐式函数numeric(int4)
float4numeric赋值函数numeric(float4)
float8numeric赋值函数numeric(float8)
numericint8赋值函数int8(numeric)
numericint2赋值函数int2(numeric)
numericint4赋值函数int4(numeric)
numericfloat4隐式函数float4(numeric)
numericfloat8隐式函数float8(numeric)
moneynumeric赋值函数numeric(money)
numericmoney赋值函数money(numeric)
numericnumeric隐式函数numeric(numeric,int4)
jsonbnumeric显式函数numeric(jsonb)

运算符重载 18

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

运算符左操作数右操作数返回类型含义实现函数
-无(一元)numericnumeric取负。numeric_uminus
=numericnumericbool等于。numeric_eq
<>numericnumericbool不等于。numeric_ne
<numericnumericbool小于。numeric_lt
<=numericnumericbool小于或等于。numeric_le
>numericnumericbool大于。numeric_gt
>=numericnumericbool大于或等于。numeric_ge
+numericnumericnumeric相加。numeric_add
-numericnumericnumeric相减。numeric_sub
*numericnumericnumeric相乘。numeric_mul
/numericnumericnumeric相除。numeric_div
%numericnumericnumeric取余。numeric_mod
^numericnumericnumeric乘方。numeric_power
@无(一元)numericnumeric绝对值。numeric_abs
+无(一元)numericnumeric一元正号。numeric_uplus
+pg_lsnnumericpg_lsn相加。pg_lsn_pli
+numericpg_lsnpg_lsn相加。numeric_pl_pg_lsn
-pg_lsnnumericpg_lsn相减。pg_lsn_mii

操作符类 5

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

操作符类索引方法输入类型操作符族默认存储类型
numeric_opsbtreenumericbtree/numeric_ops是与输入类型相同
numeric_opshashnumerichash/numeric_ops是与输入类型相同
numeric_minmax_opsbrinnumericbrin/numeric_minmax_ops是numeric
numeric_minmax_multi_opsbrinnumericbrin/numeric_minmax_multi_ops否numeric
numeric_bloom_opsbrinnumericbrin/numeric_bloom_ops否numeric

版本比较

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

这两个样本的系统目录和结构化属性没有变化。

文档与源码

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

相关条目

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