广州网站设计首选刻,北京网站建设公司华网天下,wordpress 电台源码,建站快车代理商最近工作碰到客户的特殊要求#xff0c;需要将特定的数据排序在前面#xff0c;然后才按时间顺序排序#xff0c;这个之前还真没有碰到过#xff0c;好在有万能的度娘#xff0c;搜索了一下#xff0c;发现可以实现#xff0c;使用order by decode语句即可。对于order b…最近工作碰到客户的特殊要求需要将特定的数据排序在前面然后才按时间顺序排序这个之前还真没有碰到过好在有万能的度娘搜索了一下发现可以实现使用order by decode语句即可。对于order by熟悉SQL的朋友都知道了而decode是oracle的函数解释如下语法使用DECODE(value, if1, then1, if2,then2, if3,then3, . . . else )Value 代表某个表的任何类型的任意列或一个通过计算所得的任何结果。当每个value值被测试如果value的值为if1Decode 函数的结果是then1如果value等于if2Decode函数结果是then2等等。事实上可以给出多个if/then 配对。如果value结果不等于给出的任何配对时Decode 结果就返回else 。总结简单来说就是if then的使用集合在一个函数中。有了这个函数不但让SQL更简洁而且可以应用到多处场合今天说说应用于order by 之后让指定内容排在前面。例如有如下表TEST编号姓名年龄分数A001小红2090A002小蓝31100A003小黑2798A004小白3593A004小紫25100要求25岁排序在前面然后按分数排序这时就需要使用order by decode语句了。查询语句为SELECT * FROM TEST ORDER BY DECODE(年龄,25,分数)查询结果如下这就是DECODE函数强大之处在SQL SERVER或MY SQL等数据库估计实现这样的排序会有点复杂但ORACLE中只需要order by decode却可。等等别走 ^_^好消息快手官方发红包啦登录即送2元秒提现 查看详情