在sql 里实现asp中split的功能

博客展示了一个SQL Server的存储过程,该过程部分实现了类似split的功能。代码根据传入的手机号码、内容、发送时间和发送者信息,对手机号码进行分割处理,并将相关信息插入到sms_out表中,同时给出了联系交流的邮箱和网址。

下面是一个sq serverl的存储过程其中一部分实现了类似split的功能,我没有把这部分单独拿出来。(有更好的方法希望能与我联系:vince6799@hotmail.com或访问www.miplat.com

CREATE PROCEDURE savesend(@mobile as nvarchar(4000),@content as nvarchar(70),@sendtime as nvarchar(50),@sender as nvarchar(50)) AS
declare @stime nvarchar(50),@smobile nvarchar(50)
declare @icount int,@pos int,@len int
set @len=len(@mobile)
set @icount=1
if (@sendtime<>'' )
begin
set @stime=substring(@sendtime,1,4)+'-'+substring(@sendtime,5,2)+'-'+substring(@sendtime,7,2)+' '+substring(@sendtime,9,2)+':'+substring(@sendtime,11,2)+':'+substring(@sendtime,13,2)
while(@icount<@len)
begin
set @pos=charindex(',',@mobile,@icount)
if(@pos<=0)
begin
set @smobile=substring(@mobile,@icount,@len-@icount+1)
insert into sms_out(sms_send_mobile,sms_send_content,sms_send_time,sms_send_user) values(@smobile,@content,cast(@stime as nvarchar(50)),@sender)
break
end
set @smobile=substring(@mobile,@icount,@pos-@icount)
insert into sms_out(sms_send_mobile,sms_send_content,sms_send_time,sms_send_user) values(@smobile,@content,cast(@stime as nvarchar(50)),@sender)
set @icount=@pos+1
end
end
else
begin
while(@icount<@len)
begin
set @pos=charindex(',',@mobile,@icount)
if(@pos<=0)
begin
set @smobile=substring(@mobile,@icount,@len-@icount+1)
insert into sms_out(sms_send_mobile,sms_send_content,sms_send_user) values(@smobile,@content,@sender)
break
end
set @smobile=substring(@mobile,@icount,@pos-@icount)
insert into sms_out(sms_send_mobile,sms_send_content,sms_send_user) values(@smobile,@content,@sender)
set @icount=@pos+1
end
end
GO

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值