2

ORACLE(10g) DB で次のクエリを使用しています。

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

次のようなエラーが発生しました: java.sql.SQLSyntaxErrorException: ORA-00932: inconsistent datatypes: expected - got CLOB

このエラーを解決する方法はありますか?

4

2 に答える 2

4

student_tableデータ型 clob の列が少なくとも 1 つ含まれていると思います。

その場合はすべきではありませんselect *が、非 clob 列のみを使用してください。

于 2011-02-16T09:59:01.607 に答える
1

結果セットに LOB が含まれている場合は、INTERSECT を実行できません。

ただし、この場合、交差は必要ありません。

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');
于 2012-10-12T02:44:26.027 に答える