如何在postgresql REAL类型列中插入python NUMERIC类型

时间:2016-03-02 16:16:52

标签: python postgresql numeric

我在postgresql中有一个列定义为REAL []类型,当我尝试在列中插入一个值时会导致错误。

值是一个数字数组,如下所示:[23.4, -45, 7895]

结果错误是:operator does not exist: real[] = numeric[]

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我强烈怀疑查询的插入部分不是问题所在:

db=# create temp table fnord ( foo numeric[] );
db=# insert into fnord values ('{23.4, -45, 7895}'::real[]);
db=# insert into fnord values ('{23.4, -45, 7895}'::real[]);
db=# select '{23.4, -45, 7895}'::numeric[] = '{12, 12, 12}'::real[];
ERROR:  operator does not exist: numeric[] = real[]
LINE 1: select '{23.4, -45, 7895}'::numeric[] = '{12, 12, 12}'::real...
                                              ^
HINT:  No operator matches the given name and argument type(s). You might need to add explicit type casts.
Time: 77.539 ms

您可能在查询中的某处进行了比较。用演员来解决这个问题,你应该没问题。