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

n3ipq98p  于 2024-01-07  发布在  PostgreSQL
关注(0)|答案(1)|浏览(166)

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

SELECT 12 :: DEC(5,3);

字符串
生产:

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


显然,DECNUMERIC类型的别名,就像DECIMAL一样。然而,当我查看data types table in PostgreSQL manual时,它不包括DEC类型。只有NUMERICDECIMAL
它在表格上方指出:
表8.1显示了所有内置的通用数据类型。“别名”列中列出的大多数替代名称都是PostgreSQL内部由于历史原因而使用的名称。此外,一些内部使用或弃用的类型是可用的,但没有在这里列出。
这让我想知道DEC类型是否可能被弃用。我试图在PostgreSQL中搜索弃用的类型,但没有找到这样的信息。
这仅仅是文档中的一个遗漏吗?如果是,是否有更多的数据类型别名被支持但没有被文档化?
或者说,DEC类型还有什么其他的问题?

3bygqnnd

3bygqnnd1#

decdecimal的缩写。两者都是numeric的别名。

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

字符串
手册:
类型decimalnumeric是等价的。这两种类型都是SQL标准的一部分。
我并没有太多的冒险去宣称这两种类型都不会被弃用。尽管如此,还是使用规范的类型名称numeric吧。没有什么好的理由不这样做。

相关问题