网络中实现Split

原创
小哥 3年前 (2022-11-16) 阅读数 38 #大杂烩

标量函数:

--第一个参数为要分割的字符串
--第二个参数为分割符
CREATE FUNCTION [dbo].[splitl_jbsb] (
    @String VARCHAR(MAX),
    @Delimiter VARCHAR(MAX)
) RETURNS @temptable TABLE (items VARCHAR(MAX)) AS
BEGIN
    DECLARE @idx INT=1
    DECLARE @slice VARCHAR(MAX) 
    IF LEN(@String) < 1 OR LEN(ISNULL(@String,)) = 0
        RETURN
    WHILE @idx != 0
    BEGIN
        SET @idx = CHARINDEX(@Delimiter,@String)
        IF @idx != 0
            SET @slice = LEFT(@String,@idx - 1)
        ELSE
            SET @slice = @String
        IF LEN(@slice) > 0
            INSERT INTO @temptable(items) VALUES(@slice)
        SET @String = RIGHT (@String, LEN(@String) - @idx)
        IF LEN(@String) = 0
            BREAK
    END
    RETURN
END

使用方法:

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门