在SQL语句中实现split函数 zt
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
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