declare @str as nvarchar(50)
set @str = N'.0.1.1001.2002.3.204.5.106.'
declare @str_tmp as nvarchar(30)
declare @index as int
declare @str_len as int

select @str_len=LEN(@str)
select @index=CHARINDEX('.',@str, 1)
if @index = 1
set @str = RIGHT(@str, len(@str) - 1)

if RIGHT(@str, 1) = '.'
set @str= LEFT(@str, len(@str) - 1)
while LEN(@str) > 0 and (CHARINDEX('.',@str,1) > 0)
begin
select @index=CHARINDEX('.',@str, 1)
select @str_tmp = LEFT(@str, @index - 1)
print @str_tmp
set @str = RIGHT(@str,len(@str)-@index)
end
print @str

输出结果为:

0
1
1001
2002
3
204
5
106

posted on 2013-03-06 13:52  袁晓平  阅读(218)  评论(0编辑  收藏  举报