zoukankan      html  css  js  c++  java
  • MSSQL—字符串分离(Split函数)

            前面提到了记录合并,有了合并需求肯定也会有分离需求,说到字符串分离,大家肯定会想到SPLIT函数,这个在.NET,Java和JS中都有函数,很可惜在SQL SERVER中没有,我们只能自己来写这么一个函数。

    SET QUOTED_IDENTIFIER ON
    SET ANSI_NULLS ON
    GO
    
    CREATE FUNCTION [dbo].[Split]  
    (
        @str    VARCHAR(1000),
        @split    VARCHAR(10)
    )
    RETURNS @TempTable table(COL VARCHAR(50))
    WITH ENCRYPTION
    AS  
    BEGIN    
        DECLARE @splitlen int
        SET @splitlen=LEN(@split+'a')-2
        WHILE CHARINDEX(@split,@str)>0
        BEGIN
            INSERT @TempTable VALUES(LEFT(@str,CHARINDEX(@split,@str)-1))
            SET @str=STUFF(@str,1,CHARINDEX(@split,@str)+@splitlen,'')
        END
        INSERT @TempTable VALUES(@str)
        RETURN
    END
    
    
    GO

    调用:

    SELECT * FROM dbo.SPLIT(N'张三,李四,王五,钱六,赵七,Tom,Amy,Joe,Leo',',')

    效果:

     

  • 相关阅读:
    软件设计中的立足点
    Clojure基础
    团队凝聚力
    执行力与领导力
    工作与生活
    分离焦虑OR责任焦虑
    保持激情
    立足点
    论研发管理--开篇
    初级码农常犯错误
  • 原文地址:https://www.cnblogs.com/luomingui/p/12575804.html
Copyright © 2011-2022 走看看