📄 ¦
字号:
作者:豆腐
日期:2000-9-28 15:15:03
/*
豆腐制作,都是精品
*/
今天见到米豆腐的 帖子,要在存储过程中实现类似 vb 中 split 的功能,豆腐 贪图功名 急急忙忙 凑了 一个 程序,大家测试下:)
CREATE PROCEDURE split(@strSRC varchar(8000),@strSplit varchar(255)) AS
declare @strTemp varchar(255),
@intStart integer,
@intTemp integer,
@intLen integer
/*
豆腐制作,都是精品
*/
select @intStart=0;
select @intTemp=0;
print '原先的字符串是:'+ @strSRC;
print '分割符号是:'+ @strSplit;
/*
CHARINDEX 函数的用法 可以查看sql online book 在此不做详细的讲解
*/
select @intStart= CHARINDEX(@strSplit,@strSRC)
if(@intStart<>0)
begin
select @intLen=@intStart-1
select @intTemp=@intStart-@intLen-len(@strSplit)
end
while(@intStart<>0)
begin
print subString(@strSRC,@intTemp+len(@strSplit),@intLen)
select @intTemp=@intStart
select @intStart= CHARINDEX(@strSplit,@strSRC,@intStart+len(@strSplit))
select @intLen=(@intStart-@intTemp-len(@strSplit))
end
这个存储过程编译成功后,测试结果如下!
split '哈哈#1111#tbdsah#12345#','#'
输出:
原先的字符串是:哈哈#1111#tbdsah#12345#
分割符号是:#
哈哈
1111
tbdsah
12345
因为时间仓促,所以就没有作的很完善,大家稍微修改后 自己应该就可以使用了!
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -