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

请教一个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 这是我的写法,可以使用

    评论

报告相同问题?

悬赏问题

  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制