Postgresql Postgres:错误:运算符不存在:字符变化=bigint
我的问题是这样的。我尝试获取ID列表的状态Postgresql Postgres:错误:运算符不存在:字符变化=bigint,postgresql,Postgresql,我的问题是这样的。我尝试获取ID列表的状态 select order_number, order_status_name from data.order_fact s join data.order_status_dim l on s.order_status_key = l.order_status_key where order_number in (1512011196169,1512011760019,1512011898493,1512011972111) 我得到一个错误,上面说:
select order_number, order_status_name
from data.order_fact s
join data.order_status_dim l
on s.order_status_key = l.order_status_key
where
order_number in (1512011196169,1512011760019,1512011898493,1512011972111)
我得到一个错误,上面说:
ERROR: operator does not exist: character varying = bigint
LINE 6: order_number in (1512011196169,1512011760019,1512011898493,1...
^
HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts.
你知道我应该如何修改ID以使其正常工作吗?
非常感谢 您的
order\u number
是一个varchar,您无法将其与数字进行比较(123
是SQL中的一个数字,'123'
是一个字符串常量)
您需要使用字符串文字:
order_number in ('1512011196169','1512011760019','1512011898493','1512011972111')
手册中的更多详细信息:如果您无法在中更改
中的数字类型,您可以使用cast
:
select * from numbers_as_string
where cast(my_numbers_as_string as int) in (1,2,3)
哦你说得对,它现在起作用了!pff!非常感谢你!非常好!谢谢