jace.tang
2023-02-11 ed8d469ccdc0e627d8f180bb92a9d78dbdb008b1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
CREATE FUNCTION DismemberStr
(
    @ValueString varchar(4000),
    @DivStr varchar(5)
)
RETURNS @returntable TABLE
(
    FV VARCHAR(50)
)
AS
BEGIN
    DECLARE @P1 INT, @P2 INT
    DECLARE @STR VARCHAR(50) 
 
    IF SUBSTRING(@ValueString, LEN(@ValueString), 1)<> @DivStr
      SET @ValueString = @ValueString + @DivStr
 
 
    SET @STR = ''
 
    SET @P1 = 1
    SET @P2 = CHARINDEX(@DivStr, @ValueString, @p1)
    
 
        WHILE (@P2 > 0)
        BEGIN
            SET @STR = SUBSTRING(@ValueString, @P1, @P2 - @P1)
            IF @STR <> ''
            INSERT INTO @returntable(FV) VALUES(@STR)
 
            SET @P1 = @P2 + 1
            SET @P2 = CHARINDEX(@DivStr, @ValueString, @p1)
        END
    
    RETURN 
END