create view 医院排名表 as select 序号,医院名称,医院等级,管辖类别,(医院等级分+管辖类别分) as 得分 from (select 序号,医院名称,医院等级,管辖类别, CASE 医院等级 WHEN '一级' THEN 10 WHEN '二级' THEN 8.2 WHEN '二级甲等'THEN 9.1 WHEN '二级乙等' THEN 8.8 WHEN '三级甲等' THEN 7.5 WHEN '三级'THEN 7 ELSE 0 END AS 医院等级分, CASE 管辖类别 WHEN '省级' THEN 10 WHEN '市级' THEN 9 WHEN '县级' THEN 8 WHEN '私人医院' THEN 7 WHEN '附属医院' THEN 8.8 WHEN '职工医院' THEN 8.3 WHEN '军队医院' THEN 9.2 ELSE 0 END AS 管辖类别分 from 医院信息表) b ;
结果为: WHEN '一级' THEN 10 * 第 6 行出现错误: ORA-12704: 字符集不匹配
请问怎么该呢?
------解决方案-------------------- CREATE VIEW 医院排名表 AS as SELECT 序号, 医院名称, 医院等级, 管辖类别, (医院等级分 + 管辖类别分) AS 得分 FROM (SELECT 序号, 医院名称, 医院等级, 管辖类别, CASE WHEN 医院等级 = '一级' THEN 10 WHEN 医院等级 = '二级' THEN 8.2 WHEN 医院等级 = '二级甲等' THEN 9.1 WHEN 医院等级 = '二级乙等' THEN 8.8 WHEN 医院等级 = '三级甲等' THEN 7.5 WHEN 医院等级 = '三级' THEN 7 ELSE 0 END AS 医院等级分, CASE WHEN 管辖类别 = '省级' THEN 10 WHEN 管辖类别 = '市级' THEN 9 WHEN 管辖类别 = '县级' THEN 8 WHEN 管辖类别 = '私人医院' THEN 7 WHEN 管辖类别 = '附属医院' THEN 8.8 WHEN 管辖类别 = '职工医院' THEN 8.3 WHEN '军队医院' THEN 9.2 ELSE 0 END AS 管辖类别分 FROM 医院信息表) B;