hql排序空值放在后边

由于mysql的一些写法在hql里不支持,所以查询各种资料后得出

如果排序要求为,假如说A字段排序(A字段存入的都是数字的字符串),当A字段为空时排在最后,并且为空的用修改时间modify_date来排序,可以这样写

order by case when ifnull(A,‘‘)=‘‘ then 0 else 1 end desc, A+0 asc,modify_date asc

A+0时防止出现排序出现1,11,123,11234,2,3,4.。。。的情况

原文地址:https://www.cnblogs.com/wysz1012/p/9476282.html

时间: 2024-11-02 18:20:59

hql排序空值放在后边的相关文章

2.05 处理排序空值

问题:在emp中根据comm排序结果.但是,这个字段可以有空值.需要指定是否将控制排在最后. 解决方案:根据数据的显示方式,以及特定的rdbms排序空值的方式,可以按照升序或降序来对空值的列排序. select ename,sal,comm from emp    order by 3 select ename,sal,comm from emp    order by 3 desc 这种解决方案中,如果可为空值的列包含非空值,那么也可以根据要求,按升序或降序排序,这可能正是所期待的,也许不是.

sqlserver、oracle数据库排序空值null问题解决办法

转:https://www.cnblogs.com/pacer/archive/2010/03/02/1676371.html [sqlserver]: sqlserver 认为 null 最小. 升序排列:null 值默认排在最前. 要想排后面,则:order by case when col is null then 1 else 0 end ,col 降序排列:null 值默认排在最后. 要想排在前面,则:order   by case when col is null then 0 el

linq排序之 根据文本 A-001-002-003 这种类型进行分割排序 空值放于最后

调用 1 List<string> data = new List<string>() { 2 "D-001-001-001","A-001-004-001","A-001-002-001", 3 "A-002-001-001", "F-004-001-001", "A-003-001-001", 4 "A-004-001-004","

Oracle使用order by排序关于null值处理

在Oracle中使用order by进行查询排序时,如果排序字段中有空值(null),排序结果可能会达不到我们想要的结果.如: select * from test order by age desc; 按照age字段降序排序,结果如下: 将sql语句改为 select * from test order by age desc nulls last; 即可将null值排到最后."nulls last"将空值放在后面,相反的"nulls first"将空值记录放在前

经典排序算法的零基础通俗讲解

一.几种经典排序算法的排序过程及时间复杂度 冒泡:时间复杂度O(n²) 第一个数和第二个数比较,大的放在后边,然后第二个数再和第三个数比较,大的放在后面.以此类推. 选择:时间复杂度O(n²): 0到n-1里找最小值放位置0上:1到n-1里找最小值放位置1上 以此类推 插入:时间复杂度O(n²) 一个数 和他前边的数比较 如果大于那个数就放在那个数后面 如果比那个数小就一直往前比较 直到比某个数大就放在那个数后面.如果都没有就放在首位置. 时间复杂度:O(N*logN) : 归并排序,快速排序,

ORACLE中用某个字段的首字母排序

今天项目上有个需求用某个字段的首字母排序: 正菜上: 1.使用oracle自带的函数nlssort: 1)按照汉字首字母排序:nlssort(xxx,'NLS_SORT=SCHINESE_PINYIN_M'): 2)按照汉字笔画排序:nlssort(xxx,'NLS_SORT=SCHINESE_STROKE_M'); 3)按照汉字部首排序:nlssort(xxx,'NLS_SORT=SCHINESE_STROKE_M'); 2.如果需要将空值放在前面:后面加 nulls first 3.如果需要

sorted排序

排序函数sorted原型如下,接受一个可迭代的序列,可以自定义排序函数放在key中,可以对待排序序列先期进行处理,还可以指定正反序 sorted(iterable, /, *, key=None, reverse=False) Return a new list containing all items from the iterable in ascendi A custom key function can be supplied to customize the sort order, r

SQLCookbook 学习笔记 结果排序

select name from emp order by salary; ORDER BY 默认是按照升序排列, 当需要倒序时 用 ORDRE BY salary DESC ORDER BY  不一定要基于列名 ,也可以用数字表示 基于第几列: select name from emp order by 3;         salary是从左到右第三列. 按照多个字段排序 select * from emp order by depno, salary desc; 按照部门升序,在部门内部按

【Bootstrap3.0建站笔记三】AspNetPager分页,每一列都可排序

1.AspNetPager分页,实现每一列都可排序: (1).需要将默认排序字段放在HTML页面中. (2).排序字段放置为td节点的属性. 如图: 实现的效果图如: HTML代码: <div class="row"> <div class="col-lg-12 col-sm-12 col-xs-12 col-xxs-12"> <table class="table table-striped table-hover tabl