Create procedure sp_split_string
(
@string NVARCHAR(4000),--要分割的字符串
@SpLitString varchar(2000) --中间的分割符
)
AS
BEGIN
DECLARE @object_id nvarchar(500)
DECLARE @i INT
DECLARE @len INT
IF (@string IS NULL) OR (LTRIM(@string) = '')
RETURN
--查找字符串@string的中是否包含@SpLitString字符
WHILE CHARINDEX(@SpLitString,@string) > 0
BEGIN
SET @len = LEN(@string)--总的长度
SET @i = CHARINDEX(@SpLitString, @string)--找到第一个包含分割符的地方
SET @object_id = LEFT(@string, @i-1)--截取开始到分割前一个数据(分割数据)--右边开始算
SET @string = RIGHT(@string, @len - @i)--给变量从新复制数据-从分割符后面到整个长度-RIGHT从左边开始算
if (CHARINDEX(@SpLitString,@string) <= 0)
print @string
END