• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

SQL分隔字符串的存储过程_sqlserver

sqlserver 搞代码 7年前 (2018-06-16) 160次浏览 已收录 0个评论

我在做一个项目时研究了查询多个关键字的技术,这是其中用到的一个技术。“分隔字符串”存储过程的作用就是把“jiangjs,shenxy,cheng”类的字符串隔开保存到一个表中。  CREATE PROCEDURE [分隔字符串]
(
 @String NVARCHAR(1000),  — 要分隔的字符串
 @SPLITCHAR NVARCHAR(10) = ‘,’, — 分隔字符
 @TableName NVARCHAR(50),  — 存入的表名称
 @FieldName NVARCHAR(50) = ‘[ID]’ — 存入的字段名称

http://www.gaodaima.com/35518.htmlSQL分隔字符串的存储过程_sqlserver

)
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 ———-NotMSN Messenger : [email protected] 

欢迎大家阅读《SQL分隔字符串的存储过程_sqlserver,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:SQL分隔字符串的存储过程_sqlserver
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址