⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ¦

📁 介绍了数据库方面的基础知识
💻
字号:
作者:豆腐
日期: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 + -