Oracle错误:数据类型不一致

时间:2011-02-16 09:56:24

标签: select oracle10g intersection ora-00932

我在ORACLE(10g)数据库中使用以下查询。

来自student_table的SELECT *,其中student_no喜欢'%STUDENT%' 相交 来自student_table的SELECT *,其中student_no位于('STUDENT1234','STUDENT5678')

我得到的错误如下: java.sql.SQLSyntaxErrorException:ORA-00932:不一致的数据类型:预期 - 获得CLOB

任何想法如何解决此错误?

2 个答案:

答案 0 :(得分:4)

我猜student_table至少包含一个数据类型为clob的列。

那么你不应该select *,而只能使用非clob列。

答案 1 :(得分: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');