我有一个包含三个 NCLOB 列的表。对于每个 NCLOB,我想计算有多少不是“TC”或“NC”。... end方法适用于 NVARCHAR2 列但不适用于 NCLOB的情况。如何测试投影列表中 NCLOB 的值?
Oracle 数据库 11g 版本 11.1.0.6.0
这个最小的例子演示了根本问题。
create table t (
alien_body_part nclob
);
insert into t(alien_body_part) values(null);
insert into t(alien_body_part) values('TC');
insert into t(alien_body_part) values('NC');
insert into t(alien_body_part) values('Extended Mandible');
select case when alien_body_part in ('TC', 'NC') then 0 else 1 end from t
*
ERROR at line 1:
ORA-00932: inconsistent datatypes: expected - got NCLOB