Оператор не существует: символ меняется = запись в Postgres - PullRequest
0 голосов
/ 19 апреля 2020

Я пытаюсь выполнить запрос в версии для сообщества 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.

Может кто-нибудь предложить, какие изменения требуются в этом запросе для заставить это работать?

1 Ответ

0 голосов
/ 19 апреля 2020

Здесь:

where wkly_actvty_cd IN ( ('B','H'),'N')

В вашем списке есть вложенный элемент списка: ('B','H'). Таким образом, Postgres заканчивается попыткой сравнить скалярное значение (wkly_actvty_cd) с кортежем, что вызывает ошибку, которую вы получаете.

Вы действительно имели в виду?

where wkly_actvty_cd IN ('B', 'H', 'N')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...