如何在 postgres 中插入货币数据类型值
Posted
技术标签:
【中文标题】如何在 postgres 中插入货币数据类型值【英文标题】:How to Insert money datatype value in postgres 【发布时间】:2014-06-02 18:54:34 【问题描述】:您好,我是 postgres 的新手, 在将数据插入货币类型字段时,我收到错误消息。 这里我的示例表是
CREATE TABLE x_table
(
t_name character varying(40) NOT NULL,
currency money
)
INSERT INTO x_table(t_name, currency)
VALUES ('TEST', 1000);
并得到错误消息
ERROR: column "currency" is of type money but expression is of type integer
SQL state: 42804
.
那么任何人都可以说如何解决这个问题.. 提前致谢
【问题讨论】:
一如既往:您的 Postgres 版本?在现代版本中,这很有效。 使用大整数以美分存储货币。不是答案,但可能同样有效。 【参考方案1】:在现代版本(使用 9.1 和 9.3 测试)中,上述代码示例按原样运行。
在旧版本中,没有定义从 integer
到 money
的隐式转换。Quoting the the release notes for Postgres 9.1:
添加对从
int4
和int8
转换为money
的支持(乔伊·亚当斯)
另外,请务必考虑存储货币信息的替代方法:PostgreSQL: Which Datatype should be used for Currency?
【讨论】:
感谢 Erwin,与 9.1 合作过,如果我们在旧版本中使用,我可以知道在从命令提示符插入时使用这笔钱进行 int 转换...如果我们在旧版本中使用以上是关于如何在 postgres 中插入货币数据类型值的主要内容,如果未能解决你的问题,请参考以下文章
Postgres - 在较低的 UNION 选择语句中插入 NUMERIC[] 值“0”
如何使用 Node.js 将特定键:Json 的值插入到 postgres 表中