在PostgreSQL中使用DEC数据类型可以吗

问题描述 投票:0回答:1

DEC
类型似乎在 PostgreSQL 15 中工作得很好:

SELECT 12 :: DEC(5,3);

生产:

 numeric 
---------
  12.000
(1 row)

显然

DEC
NUMERIC
类型的别名,就像
DECIMAL
一样。但是,当我查看 PostgreSQL 手册中的数据类型表时,它不包含
DEC
类型。只有
NUMERIC
DECIMAL

表格上方注明:

表 8.1 显示了所有内置的通用数据类型。 “别名”列中列出的大多数备用名称都是 PostgreSQL 由于历史原因在内部使用的名称。此外,还有一些内部使用或已弃用的类型可用,但此处未列出。

这让我想知道

DEC
类型是否可能被弃用。我尝试在 PostgreSQL 中搜索已弃用的类型,但没有找到此类信息。

这只是文档中的遗漏吗?如果是这样,是否可能有更多受支持但未记录的数据类型别名?

或者

DEC
类型还有更多的事情发生吗?

postgresql sqldatatypes
1个回答
0
投票

dec
decimal
的缩写。两者都是
numeric
的别名。

test=> SELECT 'dec'::regtype, 'decimal'::regtype, 'numeric'::regtype;
 regtype | regtype | regtype 
---------+---------+---------
 numeric | numeric | numeric
(1 row)

说明书:

类型

decimal
numeric
是等效的。这两种类型都是 SQL 标准的一部分。

我并没有过多地宣称这两者都不会被弃用。不过,只需使用规范类型名称

numeric
即可。没有充分的理由不这样做。

© www.soinside.com 2019 - 2024. All rights reserved.