sql语句中对一个字段排序,字段中含有字符串和数字,(怎根据数字进行排序)
例如:字段内容:1班级,2班级,3班级,6班级,33班级排序之后是:1班级,2班级,3班级,33班级,6班级期望结果是:1班级,2班级,3班级,6班级,33班级...
例如:字段内容:1班级,2班级,3班级,6班级,33班级
排序之后是:1班级,2班级,3班级,33班级,6班级
期望结果是:1班级,2班级,3班级,6班级,33班级 展开
排序之后是:1班级,2班级,3班级,33班级,6班级
期望结果是:1班级,2班级,3班级,6班级,33班级 展开
3个回答
展开全部
order by 字段名称+0 desc/asc的形式进行排序
order by 字段名称*1 desc/asc的形式进行排序
order by 字段名称*1 desc/asc的形式进行排序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假如表为test,name字段存放班级,代码如下:
select id,name,substring_index(name, '班级',1) as num
from test
ORDER BY num asc
select id,name,substring_index(name, '班级',1) as num
from test
ORDER BY num asc
更多追问追答
追答
另外,联系可以这么操作,实际应用最好别再SQL语句中使用函数,可以带程序中按照条件排序,不然会影响查询性能。
练习
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按照特殊字符后的数字进行排序:
正序:
select * from table01 where ColumnNum like 'BHxxxx-%' order by cast(SUBSTRING(ColumnNum,CHARINDEX('-',ColumnNum,CHARINDEX('-',ColumnNum))+1,len(ColumnNum)) as int);
倒序:
select * from table01 where ColumnNum like 'BHxxxx-%' order by cast(SUBSTRING(ColumnNum,CHARINDEX('-',ColumnNum,CHARINDEX('-',ColumnNum))+1,len(ColumnNum)) as int) desc;
正序:
select * from table01 where ColumnNum like 'BHxxxx-%' order by cast(SUBSTRING(ColumnNum,CHARINDEX('-',ColumnNum,CHARINDEX('-',ColumnNum))+1,len(ColumnNum)) as int);
倒序:
select * from table01 where ColumnNum like 'BHxxxx-%' order by cast(SUBSTRING(ColumnNum,CHARINDEX('-',ColumnNum,CHARINDEX('-',ColumnNum))+1,len(ColumnNum)) as int) desc;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询