参考:
1,建自定义函数。CREATE function FN_GetOrderStr(@InputStr Nvarchar(100))
returns Nvarchar(4000)
as 
begin
declare @str Nvarchar(4000),@TempId Nvarchar(100),@tempIn Nvarchar(4000)
set @InputStr='.'+@InputStr+'.'
set @tempIn=@InputStrset @str=N''while  charindex('.',@InputStr,2)>0
begin
set @TempId=substring (@InputStr,2,charindex('.',@InputStr,2)-2)
set @str=@str+right('0000000000'+@TempId,10)
set @InputStr=replace(@InputStr,'.'+@TempId+'.','.')
end
if @str='' 
 set @str=right('0000000000'+@tempIn,10)return @str
end2,select * from table order by  dbo.FN_GetOrderStr(字段名)示例:select dbo.FN_GetOrderStr('123.2.3.4.10.56')----结果
000000012300000000020000000003000000000400000000100000000056