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=@InputStr
set @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
end
2,select * from table order by dbo.FN_GetOrderStr(字段名)