码迷,mamicode.com
首页 > 数据库 > 详细

sqlsever数据库 字段分割函数

时间:2020-05-18 22:25:07      阅读:86      评论:0      收藏:0      [点我收藏+]

标签:取出   split   str   its   insert   value   字符   null   sql   

USE [数据库]
GO
/****** Object: UserDefinedFunction [dbo].[f_splitSTR] Script Date: 05/18/2020 21:38:38 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
create FUNCTION [dbo].[f_splitSTR](
@s varchar(8000), --待分拆的字符串
@split varchar(10) --数据分隔符
)RETURNS @re TABLE(
col varchar(max))
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

sqlsever数据库 字段分割函数

标签:取出   split   str   its   insert   value   字符   null   sql   

原文地址:https://www.cnblogs.com/myxz/p/12913170.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!