zoukankan      html  css  js  c++  java
  • SQL Serve中实现字符串分割(split)的功能函数

    CREATE FUNCTION SPLIT (
    @str_in  VARCHAR(8000),
    @separator VARCHAR(4) )
    RETURNS @strtable TABLE (strval  VARCHAR(8000))
    AS
    BEGIN

    DECLARE
     
    @Occurrences INT,
     
    @Counter INT,
     
    @tmpStr VARCHAR(8000)

     
    SET @Counter = 0
            
    IF SUBSTRING(@str_in,LEN(@str_in),1<> @separator 
                  
    SET @str_in = @str_in + @separator

     
    SET @Occurrences = (DATALENGTH(REPLACE(@str_in,@separator,@separator+'#')) -  DATALENGTH(@str_in))/ DATALENGTH(@separator)
     
    SET @tmpStr = @str_in

     
    WHILE @Counter <= @Occurrences 
     
    BEGIN
      
    SET @Counter = @Counter + 1
      
    INSERT INTO @strtable
      
    valueS ( SUBSTRING(@tmpStr,1,CHARINDEX(@separator,@tmpStr)-1))

      
    SET @tmpStr = SUBSTRING(@tmpStr,CHARINDEX(@separator,@tmpStr)+1,8000)
      
      
    IF DATALENGTH(@tmpStr= 0
       
    BREAK
      
     
    END
     
    RETURN 
    END
    输入字符串返回表。
    调用
    select dbo.split('需要分割的字符串','分割符号')
  • 相关阅读:
    6.11 修饰符的适用范围
    5.10 对象与垃圾回收
    5.9 枚举类
    5.8 java 11增强的Lambda表达式
    5.7 内部类
    5.6 接口
    5.5 抽象类
    5.4 final修饰符
    5.3 类成员
    5.2 Object类中两个需要被重写的方法
  • 原文地址:https://www.cnblogs.com/xuanye/p/644215.html
Copyright © 2011-2022 走看看