Oracle:如何在SQL查询中实现“自然”的顺序?
发布时间:2021-05-15 17:50:17 所属栏目:站长百科 来源:网络整理
导读:例如, foo1foo2foo10foo100 而不是 foo1foo10foo100foo2 更新:对自己编码排序不感兴趣(虽然这本身就很有趣),但让数据库为我做排序. 您可以在order-by子句中使用函数.在这种情况下, 你可以拆分的非数字和数字部分 字段并将它们用作两个排序标准. select * fr
例如, foo1 foo2 foo10 foo100 而不是 foo1 foo10 foo100 foo2 更新:对自己编码排序不感兴趣(虽然这本身就很有趣),但让数据库为我做排序. 您可以在order-by子句中使用函数.在这种情况下,你可以拆分的非数字和数字部分 字段并将它们用作两个排序标准. select * from t order by to_number(regexp_substr(a,'^[0-9]+')),to_number(regexp_substr(a,'[0-9]+$')),a; 您还可以创建基于函数的索引来支持: create index t_ix1 on t (to_number(regexp_substr(a,a); (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新