读书人

很基础的排序有关问题

发布时间: 2012-06-15 19:37:05 作者: rapoo

很基础的排序问题
建表:

SQL code
if object_id('[#T]') is not null drop table [#T]goCREATE TABLE #T(    F1 VARCHAR(20),    F2 VARCHAR(20),    F3 VARCHAR(20),    F4 VARCHAR(20))insert into #TSelect '645',    'BHC04304Y',    '2K-3K5',    'A122'  unionSelect '708',    'CHS02232A',    '3K5-5K',    'A4'  unionSelect '626',    'CHS02319A',    '4K-6K',    'A5' unionSelect '630',    'CHS02324Y',    '4K-6K5',    'A6'  unionSelect '653',    'CHS02329A',    '3K5-5K5',    'A123' 

期望的排序结果(依据F4排):
SQL code
708    CHS02232A    3K5-5K    A4626    CHS02319A    4K-6K    A5630    CHS02324Y    4K-6K5    A6645    BHC04304Y    2K-3K5    A122653    CHS02329A    3K5-5K5    A123

很简单吧

[解决办法]
SQL code
select * from #Torder by STUFF(F4,1,1,'')+1/*F1                   F2                   F3                   F4-------------------- -------------------- -------------------- --------------------708                  CHS02232A            3K5-5K               A4626                  CHS02319A            4K-6K                A5630                  CHS02324Y            4K-6K5               A6645                  BHC04304Y            2K-3K5               A122653                  CHS02329A            3K5-5K5              A123(5 row(s) affected)*/
[解决办法]
SQL code
select * from tborder by cast(substring(f4,2,1000) as int) 

读书人网 >SQL Server

热点推荐