sql 分割字符串,循環插入
来源:互联网 发布:电脑锣编程群 编辑:程序博客网 时间:2024/05/22 12:46
創建自定義标量函数,分割字符串獲取字符串總個數
create function [dbo].[Get_StrArrayLength]( @str varchar(5000), --要分割的字符串 @split varchar(10) --分隔符號)returns intasbegin declare @location int declare @start int declare @length int set @str=ltrim(rtrim(@str)) set @location=charindex(@split,@str) set @length=1 while @location<>0 begin set @start=@location+1 set @location=charindex(@split,@str,@start) set @length=@length+1 end return @lengthend
創建自定義标量函数,根據分割符號和索引獲取值。
create function [dbo].[Get_StrArrayStrOfIndex]( @str varchar(5000), --要分割的字符串 @split varchar(10), --分隔符號 @index int --取第幾個元素)returns varchar(5000)asbegin declare @location int declare @start int declare @next int declare @seed int set @str=ltrim(rtrim(@str)) set @start=1 set @next=1 set @seed=len(@split) set @location=charindex(@split,@str) while @location<>0 and @index>@next begin set @start=@location+@seed set @location=charindex(@split,@str,@start) set @next=@next+1 end if @location =0 select @location =len(@str)+1 return substring(@str,@start,@location-@start)end
字符串:14,+86,13543040626,123||12,+853,12345678,123
CREATE PROCEDURE [dbo].[app_insert_AccountSmsPhone]@SmsPhone nvarchar(100)ASBEGIN BEGIN TRAN declare @num int declare @smsAccess varchar(50) declare @smsType varchar(10) declare @smsMobile varchar(50) declare @smsRemark varchar(200) set @num =0 while(@num<dbo.Get_StrArrayLength(@SmsPhone,'||')) begin set @num = @num+1 SET @smsAccess = dbo.Get_StrArrayStrOfIndex( dbo.Get_StrArrayStrOfIndex(@SmsPhone,'||',@num),',',1) SET @smsType =dbo.Get_StrArrayStrOfIndex( dbo.Get_StrArrayStrOfIndex(@SmsPhone,'||',@num),',',2 ) SET @smsMobile =dbo.Get_StrArrayStrOfIndex( dbo.Get_StrArrayStrOfIndex(@SmsPhone,'||',@num),',',3) SET @smsRemark =dbo.Get_StrArrayStrOfIndex( dbo.Get_StrArrayStrOfIndex(@SmsPhone,'||',@num),',',4) INSERT INTO account_sms (accountID, smsType, smsMobile, smsAccess, smsRemark) VALUES (@accountID,@smsType,@smsMobile,@smsAccess,@smsRemark) if(@@error<>0) begin rollback tran select 0 return end end COMMIT TRAN select 1 as countENDGO
0 0
- sql 分割字符串,循環插入
- 字符串插入分割字符
- sql SQL分割字符串
- 分割字符串的sql
- SQL 字符串分割函数
- SQL分割字符串存储
- SQL分割字符串函数
- SQL分割字符串
- SQL分割字符串函数
- SQL分割字符串函数
- SQL分割字符串
- SQL Server字符串分割
- sql 分割字符串
- sql 分割字符串 输出
- sql 分割字符串
- SQL分割字符串详解
- SQL分割字符串
- SQL SERVER分割字符串
- 通用于Activity管理和应用程序退出
- Linux中cp和scp命令的使用方法
- 计算机视觉---2.2---频率与傅里叶变换
- 那些年我们一起清除过的浮动
- 教你用Eclipse+ADT+SDK来搭建Android开发环境!!!
- sql 分割字符串,循環插入
- Oracle数据库用户过期导致,附原因解决办法
- VS2010 常用快捷键
- likely和unlikely函数的含义
- shell 实现 冒泡排序
- C++指针--指针变量
- android TabHost+Fragment实现页面切换时遇到的问题
- iOS主页滚动页面组件
- 理解IP和端口