the type of String literal in oracle_10
'北京' 在sql语句中的类型是varchar2;
接下来验证一下:
create table province(name nvarchar2(10)); --name的类型是nvarchar2insert into province values('天府');insert into province values('国家首都');select (CASE WHEN name LIKE '%首都%' THEN ('北京') ELSE (name) END) as name from province; --ORA-12704:字符集不匹配
select (CASE WHEN name LIKE '%首都%' THEN ('北京') ELSE to_char(name) END) as name from province; --ok
select (CASE WHEN name LIKE '%首都%' THEN to_nchar('北京') ELSE (name) END) as name from province; --ok