Oracle用decode函数或CASE-WHEN实现自定义排序的方法
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,这篇文章主要讲解了Oracle用decode函数或CASE-WHEN实现自定义排序的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。1 问题对SQL排序,只要在orde
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
九恒星团队的软件开发流程
网络安全事故的处置流程图
c 连接数据库原理
最新网络安全理念
国内高配云服务器
甘肃铭创数据库信息技术有限公司
网络安全文明周记
酒泉市委网络安全
数据库什么连接操作可以实现查询
网络技术知识分享
laravel 服务器要求
武汉大学国家网络安全学院 导师
outlook服务器设置不通过
网络安全模型pdrr
三国游戏服务器名字
烟台软件开发应聘
康力电梯轿厢通讯板怎么进服务器
江苏网络安全宣传周启动
gis数据库属性域
成都怎么打车软件开发
qq邮箱服务器崩了吗
浪潮微边缘服务器价格
厦门网络安全技术支撑单位
数据库命名冲突与结构冲突
服务器的概念
报网络技术三级给证书吗
公司网络安全心得公司
百度网络安全知识题库
苏州友友天下互联网科技
excel 查询数据库