当前位置:首页 数据库 正文

在sql server里实现split的功能

2011年07月23日 | 作者: 米豆网 - 1000seo | 分类: 数据库 | 

下面是一个sq serverl的存储过程其中一部分实现了类似split的功能,我没有把这部分单独拿出来。

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

本文章由 米豆网 - 1000seo 于2011年07月23日发布在数据库分类下,您可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
+复制链接 转载请注明:在sql server里实现split的功能-米豆网
关键字:,

好文章就要一起分享!

更多

发表评论

你的大名(必填)

你的邮箱(必填)

你的网站(选填)

评论内容(必填)

😉 😐 😡 😈 🙂 😯 🙁 🙄 😛 😳 😮 mrgreen.png 😆 💡 😀 👿 😥 😎 ➡ 😕 ❓ ❗