当前位置:Gxlcms > 数据库问题 > 1 SQL SERVER 实现字符串分割成table的方法

1 SQL SERVER 实现字符串分割成table的方法

时间:2021-07-01 10:21:17 帮助过:15人阅读

1) = , ) RETURNS @l_Table TABLE ( Id INT IDENTITY(1, 1), Value VARCHAR(511), Position INT, Length INT ) BEGIN DECLARE @l_Position INT, @l_Value VARCHAR(256) SELECT @l_Position = 1, @l_Value = ‘‘ IF RIGHT(@p_Input, LEN(@p_Delimeter)) <> @p_Delimeter SET @p_Input = @p_Input + @p_Delimeter WHILE SUBSTRING(@p_Input, @l_Position, 1) = CHAR(10) OR SUBSTRING(@p_Input, @l_Position, 1) = CHAR(13) BEGIN SELECT @l_Position = @l_Position + 1 END WHILE @l_Position <= CHARINDEX(@p_Delimeter, @p_Input, @l_Position) BEGIN SET @l_Value = RTRIM ( LTRIM ( SUBSTRING ( @p_Input, @l_Position, CHARINDEX ( @p_Delimeter, @p_Input, @l_Position) - @l_Position ) ) ) IF NOT EXISTS ( SELECT 1 FROM @l_Table WHERE Value = @l_Value ) BEGIN INSERT INTO @l_Table ( Value, Position, Length ) VALUES ( @l_Value, @l_Position, CHARINDEX ( @p_Delimeter, @p_Input, @l_Position ) - @l_Position ) END SELECT @l_Position = CHARINDEX(@p_Delimeter, @p_Input, @l_Position) + 1 WHILE SUBSTRING(@p_Input, @l_Position, 1) = CHAR(10) OR SUBSTRING(@p_Input, @l_Position, 1) = CHAR(13) BEGIN SELECT @l_Position = @l_Position + 1 END END RETURN END

 

1 SQL SERVER 实现字符串分割成table的方法

标签:substr   begin   where   实现   position   pos   create   entity   ret   

人气教程排行