代码改变世界

在SQL语句中实现split函数

2008-04-29 11:34  hailibu  阅读(2089)  评论(0编辑  收藏  举报
declare @str varchar(8000),@start int,@end int
set @str = 'I,am,derry,'  --如果输入串不是以分割字符结尾,则 set @str = @str+‘,’

set @start = 1
set @end = charindex(',',@str,@start)  --第一次出现分割字符的下标位置
while(@end<>0)
    begin
        print substring(@str,@start,@end-@start)  --输出成员;(
@end-@start)的值等于成员的长度,不包含分割字符。
        set @start = @end+1
        set @end = charindex(',',@str,@start)  --输出最后一个成员后,
@end =0,则退出循环。
    end