今天在查询数据库的时候报错:
ORA-00932: inconsistent datatypes: expected - got CLOB
很奇怪,昨天还可以,同样的查询语句,今天怎么就不行了,原来CLOB是Orcale的大数据类型,不支持distinct去重查询,然后再去看表的各个字段数据类型,发现原本有一个是varchar2类型字段被不知道谁改成了CLOB的类型,导致这个错误。
问题找到了,现在就来解决,数据类型被改了那我就重新把他改回去不就可以了,于是:
alter table tablename modify (field varchar2(200));
然后很荣幸又遇到了问题
ORA-22859: invalid modification of columns
为什么呢,因为CLOB这个大数据类型不允许直接修改它的数据类型,真的是好坑,只能先删除,再添加新字段进去
alter table tablename drop column field ;
alter table tablename add(field varchar2(200));
最后,再查询就没问题了