oracle 表中如何对按含有字母和数字的编号来进行排序
我的编号(关键字)是PRO+数字的形式。我设置了按这个编号来进行升序排序,可就是没有完全按这个编号中的数字部分的升序来进行排序。如图!求解!...
我的编号(关键字)是PRO+数字的形式。我设置了按这个编号来进行升序排序,可就是没有完全按这个编号中的数字部分的升序来进行排序。如图!求解!
展开
7个回答
展开全部
直接order by pro_d 是按字符串排序的,不能得到按数字大小的排序效果;
应该去掉前边的字符然后再排序: order by to_number(substr(pro_d, 4))
应该去掉前边的字符然后再排序: order by to_number(substr(pro_d, 4))
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
因为编号是按字符串类型存储的,排序时也是按照字符串比较来排序的,如果想按数字排序,必须先获取后面的数字并转换成整形再比较排序,order by to_number(substr(pro_d, 4))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照了 PR01,PR010; PR02, PR020;只不过不是你要的效果
如果你的数据是PR01,PR02,PR03,PR04.....这样的效果应该是你要的
这个是数据本身的问题
如果你的数据是PR01,PR02,PR03,PR04.....这样的效果应该是你要的
这个是数据本身的问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在数据库中自定义函数随机生成字符串,然后更新数据库。
update 表 set 字段=dbo.gen_key() where 主键字段='值'
update 表 set 字段=dbo.gen_key() where 主键字段='值'
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询