“分隔字符串”存储过程

我在做一个项目时研究了查询多个关键字的技术,这是其中用到的一个技术。

“分隔字符串存储过程的作用就是把“jiangjs,shenxy,cheng”类的字符串隔开保存到一个表中。

CREATE PROCEDURE [分隔字符串]

(

@String NVARCHAR(1000), -- 要分隔的字符串

@SPLITCHAR NVARCHAR(10) = ',', -- 分隔字符

@TableName NVARCHAR(50), -- 存入的表名称

@FieldName NVARCHAR(50) = '[ID]' -- 存入的字段名称

)

AS

-- 将字符串分隔开放进表中

DECLARE @L INT -- 第一个分隔字符的位置

DECLARE @S INT -- 第二个分隔字符的位置

SET @L = 0

SET @S = CHARINDEX(@SPLITCHAR, @String, @L)

WHILE @L <= LEN(@String)

BEGIN

DECLARE @ID NVARCHAR(50)

IF @S = 0 SET @S = LEN(@String)   1 -- 如果到最后一个字符串那么第二个分隔字符的位置就是这个字符串的长度加一

SET @ID = SUBSTRING(@String, @L, @S - @L) -- 取值

SET @L = @S   1

SET @S = CHARINDEX(@SPLITCHAR, @String, @L)

IF LTRIM(RTRIM(@ID)) = '' CONTINUE -- 如果是空字符串就跳过

DECLARE @SQL NVARCHAR(1000)

SET @SQL = 'INSERT INTO '   @TableName   ' (' @FieldName ') VALUES('''   @ID   ''')'

EXEC sp_executesql @SQL

END

GO

----------

Not

MSN Messenger :

[url=mailto:notking@hotmail.com]notking@hotmail.com[/url]

 

源文档 <http://cache.baidu.com/c?word=%B4%E6%B4%A2%3B%B9%FD%B3%CC%2C%D7%D6%B7%FB%3B%B4%AE%3B%B2%D9%D7%F7&url=http%3A//www%2Ezzdnyy%2Ecom/simple/index%2Ephp%3Ft17742%2Ehtml&p=8b2a964086cc46af0ea6d531614196&user=baidu>

 

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值