Oracle用decode函数或CASE-WHEN实现自定义排序的方法
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章主要讲解了Oracle用decode函数或CASE-WHEN实现自定义排序的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。1 问题对SQL排序,只要在orde
千家信息网最后更新 2025年11月07日Oracle用decode函数或CASE-WHEN实现自定义排序的方法
这篇文章主要讲解了Oracle用decode函数或CASE-WHEN实现自定义排序的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
1 问题
对SQL排序,只要在order by后面加字段就可以了,可以通过加desc或asc来选择降序或升序。但排序规则是默认的,数字、时间、字符串等都有自己默认的排序规则。有时候需要按自己的想法来排序,而不是按字段默认排序规则。
比如字段值为英文字段:Monday、Tuesday、Wednesday等,如果按字段默认排序规则就为:
Friday
Monday
Saturday
Sunday
Thursday
Tuesday
Wednesday
实际我需要的是:
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
2 decode函数
通过decode函数可以实现,如下:
select * from table_dateorder by decode(DateStr, 'Monday',1 'Tuesday',2 'Wednesday',3 'Thursday',4 'Friday',5 'Saturday',6 'Sunday',7, 0);
后面的数字可以不连续。
3 case when语句
另外,还可以用case when来实现:
select * from table_dateorder by (CASE DateStr WHEN 'Monday' then 1 WHEN 'Tuesday' then 2 WHEN 'Wednesday' then 3 WHEN 'Thursday' then 4 WHEN 'Friday' then 5 WHEN 'Saturday' then 6 WHEN 'Sunday' then 7 ELSE 0 END);
4 总结
当然,把字段直接赋值为对应的数字效率会高很多,通过另外一张表再建立映射关系。
看完上述内容,是不是对Oracle用decode函数或CASE-WHEN实现自定义排序的方法有进一步的了解,如果还想学习更多内容,欢迎关注行业资讯频道。
排序
字段
函数
规则
内容
数字
方法
学习
兴趣
升序
可以通过
字符
字符串
实际
对此
小伙
小伙伴
想法
效率
时间
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何将sql数据库导入虚拟主机
怎么查看数据库作业的执行时间
学习ios软件开发作用
可变数据库喷码机
郑州网络安全市场规模
英迪网络技术有限公司
北京潮流软件开发服务标准
dell服务器e5620
闭源数据库
海康威视智能分析服务器价格
怎么把注册资料放进云服务器
JADE在哪选择所有数据库
鹤岗的网络安全有调剂信息吗
网络安全培训还需细化
交互式电子技术手册数据库
人脸对比软件开发
网络技术为我所用
网络技术调研文章
江西爱游网络技术有限公司
网络安全法知识问答 判断题
属于网络技术发展阶段有哪些
戴尔2950机架式服务器
新时代下的网络安全挑战
sql配置服务器失败
软件开发要有学历吗
新浪邮件服务器地址
公安网络安全培训会议
php 获取数据库名称
数据库逻辑表图
杭州明晓网络技术有限公司