用sql解决varchar2排序,统计信息的问题

最近做项目时遇到的库存方面的问题:(数据库为oracle)
库存的位置的是“xx-xx”的形式存储的(x为数字),直接查询肯定是没排序的;
一般查询时是将varchar2用to_number()修饰,这样就能查询,可是很明显to_number()没法转换这个数据,因为中间带“-”
so,我的解决方法是:
将该字段用substr(‘字段名’,开始截取位置,截取长度)截取前2,转成to_number()排序,再截取后2位排序
结果:问题解决

使用sql做统计:
之前做统计时,将页面传过来的值赋值后,获取list实体,for循环做统计数据;
突然想到做统计其实是一种独立的行为,与业务操作无任何联系,可以直接写一个sql命令让数据库自己做统计;
首先让库xx-98来专门当统计位置,
update 表名 set 字段名 = (select sum(字段名) from 表名 where not 字段名 likes '%98' ) where 字段名 = ‘xx-98’;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.数据控制语句(DML)部分 1.INSERT(往数据表里插入记录的语句) INSERTINTO表名(字段名1,...
    浮浮尘尘阅读 8,908评论 0 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,314评论 19 139
  • 霜临晚, 枫火杏银黄。 满地相思逐风去, 一树牵挂暗思量: 愿君不忧伤。
    梅心梅飞阅读 2,953评论 7 23
  • 宋 · 秦观 漠漠轻寒上小楼。晓阴无赖似穷秋。淡烟流水画屏幽。 自在飞花轻似梦,无边丝雨细如愁。宝帘闲挂小银钩。
    雨_莲阅读 3,564评论 0 0
  • 经历变故的婚姻,就像一件还算精美的碗:底部已有裂痕,碗口有残缺。可能是出于经济考量抑或是使用趁手,还在将就...
    莫惜金缕衣阅读 1,625评论 2 1