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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘