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
  • 相关阅读:
    TF-IDF与余弦类似性的应用(一):自己主动提取关键词
    三层中的大学问
    浅析JavaBean
    查看和改动MySQL数据库表存储引擎
    菜鸟之路--线性表__链表实现
    STL_算法_元素计数(count、count_if)
    ZOJ 3691 Flower(最大流+二分)
    字符的编码与解码
    主动訪问用户数据的背后是品牌战略
    输入n,求1~n累加
  • 原文地址:https://www.cnblogs.com/luckylei66/p/1425804.html
Copyright © 2011-2022 走看看