比如fname字段为Q1..Q20,用普通排序的话,会出现Q1 Q10 Q2的情况,如何解决呢?
解决方法:
select * from tQuestionnaire order by LEFT(fname,PATINDEX('%[0-9]%',fname)-1) ,STUFF(fname,1,PATINDEX('%[0-9]%',fname)-1,'')*1
比如fname字段为Q1..Q20,用普通排序的话,会出现Q1 Q10 Q2的情况,如何解决呢?
解决方法:
select * from tQuestionnaire order by LEFT(fname,PATINDEX('%[0-9]%',fname)-1) ,STUFF(fname,1,PATINDEX('%[0-9]%',fname)-1,'')*1