首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在psycopg2中使用@>运算符

如何在psycopg2中使用@>运算符
EN

Stack Overflow用户
提问于 2018-12-16 22:40:01
回答 1查看 131关注 0票数 1

Psycopg2一直给我以下错误:

代码语言:javascript
复制
    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类型的列。

代码语言:javascript
复制
    select price,weight_kgs @>1 from weight_categories;

注意:当我在终端中使用它时,代码会运行

这是我的表的结构:

代码语言:javascript
复制
      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 | 
EN

回答 1

Stack Overflow用户

发布于 2018-12-17 01:43:02

numrange类型要求被检查的值至少有一个小数点。这

代码语言:javascript
复制
     select price,weight_kgs @>1.0 from weight_categories;

都会起作用的。如果您是从python程序中的用户获取该值。可以使用以下命令添加小数点:

代码语言:javascript
复制
       num = float(value)

其中,value可以是1或任何其他整数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53803205

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档