首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver拆分字符串用的是什么函数?解决方法

2012-01-18 
sqlserver拆分字符串用的是什么函数?sqlserver拆分字符串用的是什么函数?[解决办法]----老大的一个例子---

sqlserver拆分字符串用的是什么函数?
sqlserver拆分字符串用的是什么函数?

[解决办法]
----老大的一个例子----


SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
/*--字符串拆分函数

分拆指定分隔符的的字符串,返回指定位置的字符

--邹建 2004.04(引用请保留此信息)--*/

/*--调用示例

SELECT
dbo.f_splitSTR(userinfo, '||| ', 1) as 姓名,
dbo.f_splitSTR(userinfo, '||| ', 2) as 性格,
dbo.f_splitSTR(userinfo, '||| ', 3) as 手机,
dbo.f_splitSTR(userinfo, '||| ', 4) as 地址,
dbo.f_splitSTR(userinfo, '||| ', 5) as 其他
FROM(
SELECT userinfo = '张三|||温和|||手机|||通讯地址 '
)A
--*/
ALTER FUNCTION dbo.f_splitSTR(
@s varchar(8000), --要分拆的字符串
@split varchar(10), --数据分隔符
@pos int -- 取第几个
)RETURNS varchar(100)
AS
BEGIN
DECLARE @splitlen int, @re varchar(100)
SET @splitlen=LEN(@split+ 'a ') - 2
WHILE CHARINDEX(@split,@s) > 0 AND @pos > 0
SELECT
@re = LEFT(@s,CHARINDEX(@split,@s)-1),
@s=STUFF(@s,1,CHARINDEX(@split, @s)+@splitlen, ' '),
@pos = @pos - 1
RETURN(CASE
WHEN @pos = 0 THEN @re
WHEN @pos = 1 THEN @s
ELSE NULL END)
END

GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO

热点排行