当前位置: 首页 > news >正文

Spring XML使用CASE WHEN处理SELECT字段

在日常开发中,经常会碰到需要导出的情况。而一些枚举值或者状态一般是定义成整型,这个时候需要对数据进行转换,转换成对应的文本再导出。

在XML中用CASE WHEN来根据不同的查询结果做不同的处理。

比如
SELECT
name AS '姓名',
age AS '年龄'
CASE WHEN status = 1 THEN '在学' WHEN status = 2 THEN '休学' ELSE '辍学' END AS '学习状态'
FROM
student

这样,如果学生的状态值是1,则返回在学;如果状态值是2,则返回休学;如果是其他,则返回辍学。和Java开发中的if elseif else 差不多。

根据传入的参数不同做不同的处理。
SELECT
name AS '姓名',
age AS '年龄'
CASE WHEN #{kid}= 1 THEN max_score ELSE max_score+50 END AS '总分'
FROM
student 

如果传入的kid等于1,则直接放回总分;如果kid不等于1,则总分要在原来的基础上加50分。

尝试过使用if标签,不过if标签没法在select后面使用,只能在where后面使用。

http://www.lryc.cn/news/215156.html

相关文章:

  • 关于C#中使用多线程的讨论
  • 工程机械数字孪生可视化平台建设,推动大型装备智能化数字化转型升级
  • Linux 网络流量监控利器 iftop命令详解及实战
  • protected by SourceGuardian and requires a SourceGuardian loader ‘ixed.8解决方案
  • KWin、libdrm、DRM从上到下全过程 —— drmModeAddFBxxx(14)
  • 2023-macOS下安装anaconda,终端自动会出现(base)字样,如何取消
  • Nginx搭载负载均衡及前端项目部署
  • 深度学习——炼丹
  • Matlab中的app设计
  • 曾经遇到过的无法解释的问题
  • 基于uniapp与uview做一个按拼音首字母排序的通讯录页面
  • 网络工程师-入门基础课:华为HCIA认证课程介绍
  • 玻色量子成功研制光量子计算专用光纤恒温控制设备——“量晷”
  • 力扣:147. 对链表进行插入排序(Python3)
  • OpenCV4(C++)——形态学(腐蚀、膨胀)
  • C++设计模式_24_Visitor 访问器
  • el-tabel表格加个多选框
  • Go语言集成开发环境(IDE):GoLand 2023中文
  • opencv c++ canny 实现 以及与halcon canny的对比
  • 阿里云无影升级2.0 云电脑解决方案时代到来
  • 【案例展示】多物理场仿真软件介绍
  • k8s的RBAC中,clusterrole, rolebinding 是什么关系谁先谁后
  • myabtis流式查询
  • K8S的pod创建过程
  • java修仙传之海岛奇遇
  • 电子商务平台对接电商供应链,不得不说的开放平台电商API接口
  • 【JAVA学习笔记】 57 - 本章作业
  • 【题解】[GenshinOI Round 3] P9816 少项式复合幂
  • 手写数字识别--神经网络实验
  • 双11消费遇冷?如何让消费回归心智原点