caibird1984 2017-04-18 08:40 采纳率: 0%
浏览 2274

请教一个Oracle中使用CASE将数字转成中文的问题

小弟初学Oracle,现在在做一张报表的查询时希望将其中的一个数字列通过CASE...WHEN语句转换成中文。

小弟随手写了个类似的例子,如下:

 SELECT VAL, CASE A.VAL WHEN 0 THEN '总成绩' WHEN 1 THEN '语文成绩' WHEN 2 THEN '数学成绩' WHEN 3 THEN '英语成绩' ELSE '' END AS VNAME
FROM
  (SELECT 0 AS VAL FROM DUAL
   UNION ALL
   SELECT 1 AS VAL FROM DUAL
   UNION ALL
   SELECT 2 AS VAL FROM DUAL
   UNION ALL
   SELECT 3 AS VAL FROM DUAL) A

但是得到的结果通过PL/SQL查看发现中文显示不全,大致示意如下:

VAL VNAME

0 总成
1 语文
2 数学
3 英语

请问诸位高手如何解决类似的问题?不胜感激

  • 写回答

3条回答 默认 最新

  • brandblue 2017-04-21 08:17
    关注

    case when panel.grade='P' then 1 else 0 end 这是我的写法,可以使用

    评论

报告相同问题?