sqlserver 怎么分割字符串

2025年03月23日 08:35
有2个网友回答
网友(1):

如楼上给的 单独分割一部分    也可用下面的函数 分割出一个集合

-- 1.0 拆分字符串 参数 @strSource要操作的字符串 @strSeparator分隔符
CREATE FUNCTION [dbo].fn_splitStr( @strSource NVARCHAR(4000),@strSeparator NVARCHAR(10) )
RETURNS @tbResult TABLE(id INT IDENTITY(1,1),rs NVARCHAR(1000))
AS
BEGIN
   DECLARE @dwIndex INT,@strResult NVARCHAR(1000),@dwSeparatorLen INT=LEN(@strSeparator);
   SET @dwIndex = CHARINDEX(@strSeparator,@strSource);-- 取得第一个分隔符的位置
   WHILE @dwIndex>0
   BEGIN
      SET @strResult = LEFT(@strSource,@dwIndex-1);
      INSERT @tbResult VALUES(@strResult);
      
       --将要操作的字符串去除已切分部分
      SET @strSource = SUBSTRING(@strSource,@dwIndex+LEN(@dwIndex),LEN(@strSource));
      SET @dwIndex = CHARINDEX(@strSeparator,@strSource); --循环量增加
   END
   --处理最后一节
   IF LEN(@strSource) > 0 INSERT @tbResult VALUES(@strSource)
   RETURN;
END
GO

网友(2):

left
right
substring