Ошибка Oracle: несовместимые типы данных - PullRequest
2 голосов
/ 16 февраля 2011

Я использую следующий запрос в моей базе данных ORACLE (10g).

SELECT * из student_table, где student_no, как '% STUDENT%' INTERSECT SELECT * из student_table, где student_no in ('STUDENT1234', 'STUDENT5678')

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

Есть идеи, как решить эту ошибку?

Ответы [ 2 ]

4 голосов
/ 16 февраля 2011

Полагаю, student_table содержит хотя бы один столбец с типом clob.

Тогда вы не select *, а только столбцы без глухих.

1 голос
/ 12 октября 2012

Вы не можете сделать ИНТЕРСЕКТ, если набор результатов включает в себя любой большой объект.

Однако в этом случае пересечение вам все равно не нужно:

SELECT * from student_table
where student_no like '%STUDENT%'
and student_no in ('STUDENT1234','STUDENT5678');

И, как указывалось ранее, первое условие в любом случае избыточно в данном конкретном случае:

SELECT * from student_table where student_no in ('STUDENT1234','STUDENT5678');
...