MSSQL—字符串分离(Split函数)
前⾯提到了记录合并,有了合并需求肯定也会有分离需求,说到字符串分离,⼤家肯定会想到SPLIT函数,这个在.NET,Java和JS中都有函数,很可惜在SQL SERVER中没有,我们只能⾃⼰来写这么⼀个函数。
SET QUOTED_IDENTIFIER ON
SET ANSI_NULLS ON
GO
CREATE FUNCTION[dbo].[Split]
(
@str VARCHAR(1000),java中split的用法
@split VARCHAR(10)
)
RETURNS@TempTable table(COL VARCHAR(50))
WITH ENCRYPTION
AS
BEGIN
DECLARE@splitlen int
SET@splitlen=LEN(@split+'a')-2
WHILE CHARINDEX(@split,@str)>0
BEGIN
INSERT@TempTable VALUES(LEFT(@str,CHARINDEX(@split,@str)-1))
SET@str=STUFF(@str,1,CHARINDEX(@split,@str)+@splitlen,'')
END
INSERT@TempTable VALUES(@str)
RETURN
END
GO
调⽤:
SELECT*FROM dbo.SPLIT(N'张三,李四,王五,钱六,赵七,Tom,Amy,Joe,Leo',',')
效果:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论