zoukankan      html  css  js  c++  java
  • 【原】[SQL function] SQL Server Split Function

    -- dbo.fnSplitToVarchar

    IF EXISTS    (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'fnSplitToVarchar')
        
    BEGIN
            
    DROP FUNCTION fnSplitToVarchar
            
    IF NOT EXISTS    (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'fnSplitToVarchar')
                
    PRINT 'DROP FUNCTION fnSplitToVarchar SUCCEEDED'
            
    ELSE
                
    PRINT 'DROP FUNCTION fnSplitToVarchar FAILED'
        
    END
    ELSE
        
    PRINT 'Attempting to CREATE FUNCTION dbo.fnSplitToVarchar'
    GO

    CREATE FUNCTION dbo.fnSplitToVarchar
    (
        
    @SourceSql varchar(8000),
        
    @StrSeprate varchar(10)
    )
        
    returns @temp table(splitValue varchar(500))

    AS
    BEGIN
        
    DECLARE @i int
        
    DECLARE @StrSeprateLength int
        
    SET @StrSeprateLength = LEN(@StrSeprate)
        
    SET @SourceSql    = RTRIM(LTRIM(@SourceSql))
        
    SET @i        = CHARINDEX(@StrSeprate@SourceSql)
        
    WHILE @i>=1
        
    BEGIN
            
    IF @i=1
                
    INSERT @temp VALUES('')
            
    ELSE
                
    INSERT @temp VALUES(LEFT(@SourceSql@i-1))
            
    SET @SourceSql    = SUBSTRING(@SourceSql@i+@StrSeprateLengthLEN(@SourceSql)-@i-@StrSeprateLength+1)
            
    SET @i        = CHARINDEX(@StrSeprate@SourceSql)
        
    END
        
    IF @SourceSql<>@StrSeprate
            
    INSERT @temp VALUES(@SourceSql)
        
    RETURN
    END

    GO

    IF EXISTS    (SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_NAME = 'fnSplitToVarchar')
        
    PRINT 'CREATE FUNCTION dbo.fnSplitToVarchar SUCCEEDED'
    ELSE
        
    PRINT 'CREATE FUNCTION dbo.fnSplitToVarchar FAILED'
    GO
  • 相关阅读:
    二叉树 排序二叉树-可以通过中序遍历得到排序的数据 二叉排序树时间复杂度O(logn),
    双链表排序
    Linux C 单链表 读取文件 并排序 实例并解释
    Linux 中文乱码问题
    双向链表排序
    玩转iOS开发
    Firefox OS简单介绍
    深入理解Dalvik虚拟机- 解释器的执行机制
    菜鸟学Struts——I18N对国际化的支持
    【leetcode】Flatten Binary Tree to Linked List
  • 原文地址:https://www.cnblogs.com/luckylei66/p/1425804.html
Copyright © 2011-2022 走看看