SQL server将某个字符串将按指定字符分解成子字符串

今天突然需要用到这样的方法,在网上找过很多,大体都写的很复杂,这个简单实用。转载自ChineseMoonGod的博客:https://www.cnblogs.com/ChineseMoonGod/p/7308783.html

DECLARE @STR VARCHAR(1000)--字符串变量
DECLARE @temptable TABLE ( substrs VARCHAR(50)) --创建表变量辅助
BEGIN 
SET @STR ='姓名,家庭地址,家庭成员,邮箱'+','
DECLARE @INSERTSTR VARCHAR(50)--截取后的第一个字符串 
DECLARE @NEWSTR VARCHAR(1000) --截取第一个字符串后剩余的字符串 
SET @INSERTSTR = LEFT(@STR,CHARINDEX(',',@STR)-1) 
SET @NEWSTR = STUFF(@STR,1,CHARINDEX(',',@STR),'') 
INSERT @temptable VALUES(@INSERTSTR) 
WHILE(LEN(@NEWSTR)>0) 
BEGIN 
  SET @INSERTSTR = LEFT(@NEWSTR,CHARINDEX(',',@NEWSTR)-1) 
  INSERT @temptable VALUES(@INSERTSTR) 
  SET @NEWSTR = STUFF(@NEWSTR,1,CHARINDEX(',',@NEWSTR),'') 
END 
SELECT * FROM @temptable
END  

猜你喜欢

转载自www.cnblogs.com/soulsjie/p/9227842.html