如果仅是如:3A 3B 3C 10A 10B 25 不出现如105A 之类的试一下:
select buildingNum from tab order by 
case isnumeric(left(buildingNum,2)) when 1 then cast(left(buildingNum,2) as int) 
else cast(left(buildingNum,1) as int) end,buildingNum
如果太复杂了,就只好用函数了