Psycopg2一直给我以下错误:
psycopg2.ProgrammingError: operator does not exist: numrange @> integer
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts
我想从我的postgres数据库中的一个表中获得一个值(比如1)的范围,该表有一个int4range类型的列。
select price,weight_kgs @>1 from weight_categories;
注意:当我在终端中使用它时,代码会运行
这是我的表的结构:
Column | Type | Collation | Nullable |
Default
------------+----------+-----------+----------+-------------------
-----------------------------------
weight_id | integer | | not null |
nextval('weight_categories_weight_id_seq'::regclass)
weight_kgs | numrange | | not null |
price | integer | | not null |
发布于 2018-12-17 01:43:02
numrange类型要求被检查的值至少有一个小数点。这
select price,weight_kgs @>1.0 from weight_categories;
都会起作用的。如果您是从python程序中的用户获取该值。可以使用以下命令添加小数点:
num = float(value)
其中,value可以是1或任何其他整数。
https://stackoverflow.com/questions/53803205
复制相似问题