Orcale distinct查询报错:ORA-00932: inconsistent datatypes: expected - got CLOB

今天在查询数据库的时候报错:

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)); 

最后,再查询就没问题了

你可能感兴趣的:(杂)