日期:2014-05-19  浏览次数:20773 次

求一字段分割的小问题
表格tb  
A
|a|b|200|
|a|b|100|200|
|a|b|100|
|a|b|100|200|100|
|a|b|100|200|100|200|
希望能的到
|a|b|2|
|a|b|1|2|
|a|b|1|
|a|b|1|2|1|
|a|b|1|2|1|2|




------解决方案--------------------
a,b是固定的吗?还是说要从|a|b|中取啊?
------解决方案--------------------
给你个自定义 函数,自己看着弄


--循环截取法
CREATE FUNCTION f_splitSTR(
@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(col varchar(100))
AS
BEGIN
DECLARE @splitlen int
SET @splitlen=LEN(@split+ 'a ')-2
WHILE CHARINDEX(@split,@s)> 0
BEGIN
INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen, ' ')
END
INSERT @re VALUES(@s)
RETURN
END