[英]Operator does not exist: character varying = record in Postgres
我正在尝试在 postgres 的社区版版本中执行查询:
select COUNT(*)
from cdar_cpms_owner.hshldgrp_wkly_actvty
where wkly_actvty_cd IN (('B','H') ,'N')
从那个查询中,我得到这个错误:
错误:运算符不存在:字符变化 = 记录
第 1 行: ..._owner.hshldgrp_wkly_actvty 其中 wkly_actvty_cd IN(('B','H... ^ 提示:没有运算符匹配给定的名称和参数类型。您可能需要添加显式类型转换。
虽然相同的查询在 EDB 版本的 postgres 上运行良好。
谁能建议此查询需要进行哪些更改才能使其正常工作?
这里:
where wkly_actvty_cd IN ( ('B','H'),'N')
您的列表有一个嵌套列表元素: ('B','H')
。 因此 Postgres 最终尝试将标量值 ( wkly_actvty_cd
) 与元组进行比较,这会引发您遇到的错误。
你真的是这个意思吗?
where wkly_actvty_cd IN ('B', 'H', 'N')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.