繁体   English   中英

运算符不存在:字符变化 = Postgres 中的记录

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM