目前有个DAO方法,采用HQL进行查询,最后order by A desc ,但A有空值,由于,后台数据库是oracle,所以采用desc到话,默认null值最大,查询出来的结果排在了最前面,实际需求需要把空值的结果集放在最后。不知道各位有没有遇到类似的问题,帮忙解决一下!先谢谢了
1条回答 默认 最新
- catstiger 2008-08-20 11:03关注
最最土的办法:
加一个标识列alter table xx add (flags char(1) default '0');
update xx set flags = '1' where tt is null;
select * from xx order by flags asc, tt desc;
这样null的flags都是1,not null的flags都是0,null的就一定在后面了。
SQL和HQL差不多都是这样了。
不好的地方是多维护一个字段,save或update的时候需要判断一下。
不过应该能解决你的问题本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报