SQL解决数字加中文楼层名排序记录

来源:互联网 发布:linux链接目的 编辑:程序博客网 时间:2024/05/17 23:11

今天遇到了一个需要对数字加中文楼层(如1002层)进行排序的问题,经过百度,查找资料终于解决,在此记录一下,以备下次不时之需:

select FloorName,RoomNamefrom RoomTb order by  convert( int,case when patindex('%[^0-9]%',FloorName) >0then substring(FloorName,1, patindex('%[^0-9]%',FloorName) -1 )else FloorName end)
具体sql语句执行效果如下:

FloorNameRoomName
9层 907多功能演示厅
9层 999会议室
10层 1007会议室
10层 1006洽谈室
11层 1112会议室
11层 1110会议室
11层 1109会议室
11层 2014-05-05新建会议室
12层 1210会议室
12层 1212会议室
12层 1202会议室
13层 1309洽谈室

0 0
原创粉丝点击