Как исправить «ORA-00932: несовместимые типы данных: ожидается - получил CLOB» при использовании с предложением GROUP BY? - PullRequest
0 голосов
/ 25 марта 2019

Я создаю представление для бизнес-логики, которое содержит около 25 столбцов из нескольких таблиц.Одно из полей, скажем, person_description, содержит около 10000 символов, которые я не хочу урезать.

Для простоты я приведу небольшую выборку (фактический запрос намного больше).

create view sample_description as 
select person_description, name, employee_id
from employee_table 
group by person_description, name, employee_id;

Я получаю ошибку 'ORA-00932: несовместимые типы данных:ожидается - получил CLOB ', на поле person_description.

Мое понимание этой проблемы состоит в том, что предложение GROUP BY не работает с полем clob.Я не хочу использовать SUBSTR и обрезать поле, так как важно получить весь контент как есть.

Я ищу любой способ обойти это решение.Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

, чтобы придерживаться своего «примера», вы можете добавить столбец clob после группировки.Я предполагаю, что employee_id - ваш первичный ключ.HTH KR Питер

create view sample_description as 
select
    (select e2.person_description from employee_table e2 where e2.employee_id = e.employee_id)
    , e.name, e.employee_id
from
    (select ei.name, ei.employee_id
    from employee_table ei
    group by ei.name, ei.employee_id) e;
0 голосов
/ 25 марта 2019

Попробуйте с to_char:

create view sample_description as 
select person_description, name, employee_id
from employee_table 
group by TO_CHAR(person_description), name, review_id;

Работает только когда clob <4000 символов </p>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...