zoukankan      html  css  js  c++  java
  • slqserver 拆分函数

    Create FUNCTION [dbo].[dnt_split]
    (
     @splitstring varchar(max),
     @separator CHAR(1) = ','
    )
    RETURNS @splitstringstable TABLE
    (
    [Id] int identity(1,1), 
     [Value] VARCHAR(max)
    )
    AS
    BEGIN
        DECLARE @currentindex INT
        DECLARE @nextindex INT
        DECLARE @returntext VARCHAR(max)
    
        SELECT @currentindex=1
    
        WHILE(@currentindex<=datalength(@splitstring))
        BEGIN
            SELECT @nextindex=charindex(@separator,@splitstring,@currentindex)--查询@currentindex 下表之后有 包含 @separator 有 返回第一个查找到的小标 否 返回0
            IF(@nextindex=0 OR @nextindex IS NULL)
                SELECT @nextindex=datalength(@splitstring)+1
            
            SELECT @returntext=substring(@splitstring,@currentindex,@nextindex-@currentindex)
    
            INSERT INTO @splitstringstable([Value])
            VALUES(@returntext)
            
            SELECT @currentindex=@nextindex+1
        END
        RETURN
    END
    
    
    GO
    --charindex(expressionToFind , expressionToSearch,start_location)--*注 想大小写 有区分 加这个 COLLATE Latin1_General_CS_AS
    
    --expressionToFind :目标字符串,就是想要找到的字符串,最大长度为8000 。
    
    --expressionToSearch :用于被查找的字符串。
    
    --start_location:开始查找的位置,为空时默认从第一位开始查找。
    。net工程师
  • 相关阅读:
    mysql触发器:插入数据前更新创建时间为服务器的时间
    import Vue form 'vue’的意思
    【LOJ#10172】涂抹果酱
    【LOJ#10171】牧场的安排
    【LOJ#10170】国王
    【POJ2411】Mondriaan's Dream
    【POJ2228】Naptime
    【CTSC1997】选课
    【CH5302】金字塔
    【洛谷P1168】中位数
  • 原文地址:https://www.cnblogs.com/yuners/p/14166827.html
Copyright © 2011-2022 走看看