关于hibernate中hql语句 case when的写法
java hql case when的用法
if(null == sorter){
hql.append(" order by m.mDate desc,case when m.mealTime = 'morning' then '1' when m.mealTime = 'noon' then '2' when m.mealTime = 'night' then '3' when m.mealTime = 'midnight' then '4' end ");
}
注:
上面hql语句的意思可以理解为:
通过mDate 降序排序,同时还得满足当mealTime = 'morning' 时,在日期的基础上排第一位,当mealTime = 'noon' 同理,以此类推即可。
case when既可以写在select后面,排序的时候也可以写在order by后面
下面是sql的case when写法
select t.id,t.name,t.code,t.select_time,t.now_level,
case t.now_level WHEN '县处级正职领导职务' THEN 38
WHEN '县处级正职非领导职务' THEN 36
WHEN '县处级副职领导职务' THEN 34
WHEN '县处级副职非领导职务' THEN 31
WHEN '乡科级正职领导职务' THEN 28
WHEN '乡科级正职非领导职务' THEN 26
WHEN '乡科级副职非领导职务' THEN 21
WHEN '科员' THEN 20
WHEN '新录用未定级' THEN 19
WHEN '五级职员' THEN 18
WHEN '六级职员' THEN 15
WHEN '七级职员' THEN 13
WHEN '八级职员' THEN 11
WHEN '九级职员' THEN 9
WHEN '市管企业正职' THEN 6
WHEN '市管企业副职' THEN 3
WHEN '企事业其它' THEN 1 END leve FROM Torg_Cadre t WHERE t.status=2
ORDER BY code desc,(date_format(select_time,'%Y')) desc, leve desc;
多字段排序,每个字段后面都加desc或asc
关于hibernate中hql语句 case when的写法的更多相关文章
- Hibernate中HQL语句中list与iterate区别
session.createQuery("from Classes").list() session.createQuery("from Classes").i ...
- php中switch语句case后表达式写法记录一
可作等级评价: $var = 95; switch(true){ case $var < 100; $level = 1; break; case $var < 95; $level = ...
- Hibernate的hql语句save,update方法不执行
Hibernate的hql语句save,update方法不执行 可能出现的原因问题: 未进行事务管理 需要进行xml事务配置或者注解方式的事务配置
- 怎样在hibernate的HQL语句中使用mysql 的自定义函数?
问题:怎样在hibernate中使用mysql的函数? 1.hibernate支持原生态的sql语句查询,使用session.createSQLQuery()创建查询对象: 2.怎样在hql中使用my ...
- Hibernate的HQL语句中定位参数和具名参数传参
HQL查询: 1.有关hql查询语句中的问号参数形式,如果出现有多个问号,这对后面设置参数就比较麻烦. 如:from User user where user.name=? and user.age= ...
- hibernate中HQL多对多的查询
现有三张表 TLXPURCHASE.采购事项审批表,TLXPURCHASEACTIVITY.采购招标活动对应表,TLXACTIVITY.招标活动表,采购事项审批表和采购活动表是多对多关系.java中定 ...
- Hibernate中HQL函数汇总及获取当前时间进行比较举例
在很多时候,我们负责的项目中,在数据访问层(DAO层)通常我们会使用sql语句或者hql语句,而在我们使用hql语句拼接时有时会报错,通常的原因是:我们使用了标准的sql语句,开启的确是hiberna ...
- Hibernate框架HQL语句
这篇随笔将会记录hql的常用的查询语句,为日后查看提供便利. 在这里通过定义了三个类,Special.Classroom.Student来做测试,Special与Classroom是一对多,Class ...
- ssh架构之hibernate(五)hql语句狂练
1.练习题 1.查询所有商品的名称[查询特定属性](只有一个参数的话可以使用List<String>接收数据)2.查询所有商品的名称和供应商[查询特定属性](多个参数可以使用List< ...
随机推荐
- spark集成hbase与hive数据转换与代码练习
帮一个朋友写个样例,顺便练手啦~一直在做平台的各种事,但是代码后续还要精进啊... import java.util.Date import org.apache.hadoop.hbase.HBase ...
- Phone文件备份
一 把照片导入到本地 连接手机和PC,插上数据线后PC上会自动检测并弹出对话框,提示导入 可以指定导入的目录.确定之后点击导入即可开始执行导入操作. 二 把语音备忘录导入到本地 需要借助iTunes联 ...
- PHP两个日期之间的所有日期
我想得到两个日期之间的所有日期, 例如:输入两个日期,把这两个日期之间的所有日期取出来 如果是:2005-02-01至2005-02-05(同为一个月) 则为:2005-02-01,2 ...
- ubuntu 双网卡建网桥脚本实现
#!/bin/bash interface1=`ls /sys/class/net|grep en|awk 'NR==1{print}'` interface2=`ls /sys/class/net| ...
- 撸一撸Spring Cloud Ribbon的原理-负载均衡器
在上一篇<撸一撸Spring Cloud Ribbon的原理>中整理发现,RestTemplate内部调用负载均衡拦截器,拦截器内最终是调用了负载均衡器来选择服务实例. 接下来撸一撸负载均 ...
- spring,property not found on type
刚开始学spring mvc ,遇到这个报错. jsp页面 user 实体类 public class User { private String name; private int age; pri ...
- 基于agenda的Nodejs定时任务管理框架搭建
0.背景 在大型项目中,定时任务的应用场景越来越广.一般来说,按照微服务的思想,我们会将定时任务单独部署一套服务,核心的业务接口独立到另一个服务中,从而降低相互之间的耦合程度.在需要使用定时任务时,只 ...
- MySQL体系结构及多实例
MySQL客户端和服务器端模型 MySQL是一个典型C/S,服务器端与客户端两部分组成 服务器端程序 mysqld mysql自带的客户端(mysql mysqladmin mysqldump等) ...
- javascript selenium全套教程发布
为什么有这个系列 目前javascript生态非常丰富,越来越多的人开始用js去做前端的ui测试了.而selenium是web ui测试的标准解决方案,所以一套js的selenium教程是很有必要的. ...
- <url-pattern>/</url-pattern>和<url-pattern>/*</url-pattern>区别
<url-pattern>/</url-pattern>表示的为只匹配/login和/demo后面不带.xxx的网页 <url-pattern>/*</url ...