insert into #t
select 'A1-1001' union all
select 'A1-1002' union all
select 'A1-1003' union all
select 'A1-1004' union all
select 'A1-1005' union all
select 'A1-101' union all
select 'A1-102' union all
select 'A1-103' union all
select 'A1-104' union all
select 'A1-105'
select *
from #t
order by substring(roomid,3,len(roomid)-3)
DECLARE @T TABLE(ID VARCHAR(50))
INSERT @T SELECT 'A1-1001'
UNION ALL SELECT 'A1-1002'
UNION ALL SELECT 'A1-1003'
UNION ALL SELECT 'A1-1004'
UNION ALL SELECT 'A1-1005'
UNION ALL SELECT 'A1-101'
UNION ALL SELECT 'A1-102'
UNION ALL SELECT 'A1-103'
UNION ALL SELECT 'A1-104'
UNION ALL SELECT 'A1-105'
SELECT * FROM @T
ORDER BY
CAST(SUBSTRING(ID,4,4) AS INT)