zoukankan      html  css  js  c++  java
  • 自定义SQL中的SplitString函数

    SQL Server中貌似没有Split函数,不能实现将某个字符串按照某个特定的字符分隔,在这里,提供一个自定义SQL函数,实现Split功能,当然,返回数组是不可能滴,你懂的...

    /******************************************************************************
    **  功能:将指定的字符串按照指定的分隔符分割,返回指定索引的子字符串
    **  作者:Danny,Li (xing.dong.li@163.com)
    **  日期:2011-08-19
    *******************************************************************************
    **  返回值列表
    ****************************
    **  返回值        涵义
    **  -------        ------------------------------------------------------
    **  @Result        指定索引的子字符串(索引从0开始)
    **
    *******************************************************************************/
    CREATE FUNCTION dbo.fun_SplitString
    (
        @Expression VARCHAR(8000),    -- 欲处理的字符串
        @SplitChar CHAR(1),            -- 分隔符
        @Index INT                    -- 取值索引
    )
    Returns varchar(255)
    AS
    BEGIN
    DECLARE @Result varchar(255),@TempIndex INT,@Temp INT,@Idx INT
    SET @TempIndex = 0
    SET @Idx = 0
    WHILE @TempIndex>=0
    BEGIN
        SET @Temp = CHARINDEX(@SplitChar,@Expression,@TempIndex)
        IF @TempIndex=0
            SET @Result = SUBSTRING(@Expression,0,@Temp)
        ELSE IF @TempIndex<@Temp
            SET @Result = SUBSTRING(@Expression,@TempIndex,@Temp-@TempIndex)
        ELSE
            SET @Result = SUBSTRING(@Expression,@TempIndex,LEN(@Expression)-@TempIndex+1)
        IF @Temp < @TempIndex
            SET @TempIndex = -1
        ELSE
            SET @TempIndex = @Temp+1
        IF @Idx=@Index
            SET @TempIndex = -1
        ELSE
        BEGIN
            SET @Idx = @Idx+1
            SET @Result = ''
        END        
    END
        RETURN @Result
    END
  • 相关阅读:
    大数据应用期末总评
    分布式文件系统HDFS 练习
    安装Hadoop
    爬虫综合大作业
    爬取全部的校园新闻
    理解爬虫原理
    中文词频统计与词云生成
    复合数据类型,英文词频统计
    字符串操作、文件操作
    了解大数据的特点、来源与数据呈现方式
  • 原文地址:https://www.cnblogs.com/dannyli/p/2662825.html
Copyright © 2011-2022 走看看