早教吧 育儿知识 作业答案 考试题库 百科 知识分享

少问了一个问题在数据库表中有以下字符数据,如:13-1、13-2、13-3、13-100、13-108、13-18、13-11、13-15、14-1、14-2现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然

题目详情
少问了一个问题在数据库表中有以下字符数据,如: 13-1、13-2、13-3、13-100、13-108、13-18、13-11、13-15、14-1、14-2 现在希望通过SQL语句进行排序,并且首先要按照前半部分的数字进行排序,然后再按照后半部分的数字进行排序,输出要排成这样: 13-1、13-2、13-3、13-11、13-15、13-18、13-100、13-108、14-1、14-2 数据库表名:SellRecord;字段名:ListNumber。 答案如下: select ListNumber from SellRecord Order by convert(int,left(ListNumber,CharIndex('-',ListNumber)-1)), Convert(int,Stuff(ListNumber,1,CharIndex('-',ListNumber),' ')) convert(int,left(ListNumber,CharIndex('-',ListNumber)-1)), 为什么要-1
▼优质解答
答案和解析
这个CharIndex('-',ListNumber)返回的是'-'的位置,你要取的是'-'之前的字符串,当然要-1了~