CREATE   FUNCTION  F_SQLSERVER_SPLIT( @Long_str   varchar ( 8000 ), @split_str   varchar ( 100 ))    
 RETURNS    @tmp   TABLE (        
     ID           inT       IDENTITY   PRIMARY   KEY ,      
     short_str    varchar ( 8000 )    
 )    
 AS    
 BEGIN    
      DECLARE   @long_str_Tmp   varchar ( 8000 ), @short_str   varchar ( 8000 ), @split_str_length   int    
      SET   @split_str_length   =   LEN ( @split_str )    
      IF   CHARINDEX ( @split_str , @Long_str ) = 1  
           SET   @long_str_Tmp = SUBSTRING ( @Long_str , @split_str_length + 1 , LEN ( @Long_str ) - @split_str_length )
      ELSE 
           SET   @long_str_Tmp = @Long_str 
      IF   CHARINDEX ( REVERSE ( @split_str ), REVERSE ( @long_str_Tmp )) > 1     
          SET   @long_str_Tmp = @long_str_Tmp + @split_str     
      ELSE    
          SET   @long_str_Tmp = @long_str_Tmp     
      IF   CHARINDEX ( @split_str , @long_str_Tmp ) = 0 
          Insert   INTO   @tmp   select   @long_str_Tmp  
      ELSE 
          BEGIN 
              WHILE   CHARINDEX ( @split_str , @long_str_Tmp ) > 0     
                  BEGIN    
                      SET   @short_str = SUBSTRING ( @long_str_Tmp , 1 , CHARINDEX ( @split_str , @long_str_Tmp ) - 1 )    
                      DECLARE   @long_str_Tmp_LEN   INT , @split_str_Position_END   int    
                      SET   @long_str_Tmp_LEN   =   LEN ( @long_str_Tmp )    
                      SET   @split_str_Position_END   =   LEN ( @short_str ) + @split_str_length     
                      SET   @long_str_Tmp = REVERSE ( SUBSTRING ( REVERSE ( @long_str_Tmp ), 1 , @long_str_Tmp_LEN -@split_str_Position_END ))
                      IF   @short_str <> ''   Insert   INTO   @tmp   select   @short_str     
                  END            
          END 
      RETURN      
 END

SQL SPLIT2的更多相关文章

  1. Excel 数据导入SQL XML 自动生成表头

    去出差的时候应客户要求要要将Excel 文件内的数据批量导入到数据库中,而且有各种不同种类的表格,如果每一个表格多对应一个数据表的话, 按照正常的方法应该是创建数据表,创建数据库中映射的数据模型,然后 ...

  2. 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目

    最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...

  3. SQL Server 大数据搬迁之文件组备份还原实战

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...

  4. Sql Server系列:分区表操作

    1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...

  5. SQL Server中的高可用性(2)----文件与文件组

        在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...

  6. EntityFramework Core Raw SQL

    前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...

  7. 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)

    从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...

  8. 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

    从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...

  9. 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)

    从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...

随机推荐

  1. android UI线程安全问题

    在Android的子线程去更新UI的内容,会导致不确定的异常. 因为Android有个模式是,单一线程模型:Android UI工具箱(toolkit)不是一个线程安全的,并且它总是被放在主线程上操作 ...

  2. 交换Ctrl和Caps Lock键

    由于使用vim的缘故,就把Ctrl和Caps Lock键交换了,在ubuntu系统下使用系统设置可以很简单地进行全局替换. 在ubuntu下习惯了之后在window下就经常按错...后来决定也把win ...

  3. VMWare虚拟机bridged、host-only和NAT网络模式的区别和用法

    VMWare提供了三种工作模式,它们是bridged(bridged 模式).NAT( 网络地址转换模式)和host-only(主机模式) . 1  VMWare虚拟机bridged.host-onl ...

  4. mysql,mybatis使用中遇到的类型转化的问题

    产生原因还没有明白,先记录一下. 使用DATEDIFF函数,计算两个日期的时间差.在mybatis中,resultType 是map.在代码中,根据map的key取值的时候. 在mysql 5.5.3 ...

  5. 命名空间“Microsoft.AspNet”中不存在类型或命名空间名“Mvc”

    问题: 错误 CS0234 命名空间"Microsoft.AspNet"中不存在类型或命名空间名"Mvc"(是否缺少程序集引用?) 解决方案: 打开文件夹 Us ...

  6. Android布局及属性归总(查询用)

    常见布局 LinearLayout    线性布局        子元素任意,组织成一个单一的水平或垂直行,默认为水平方向TableLayout    表格布局        子元素为<Tabl ...

  7. hashchange

    <!DOCTYPE html> <html> <head> <title>Hash Change Example</title> <s ...

  8. Spring中各个jar包的作用

    spring.jar 是包含有完整发布模块的单个jar 包.但是不包括mock.jar, aspects.jar, spring-portlet.jar, and spring-hibernate2. ...

  9. ssh框架整合log4j

    这个是摘录的别人博客的地址,请点击下面的链接...... http://www.cnblogs.com/rushoooooo/archive/2011/08/29/2157361.html

  10. JavaScript 扯几句单线程相关

    JavaScript 扯几句单线程相关 众所周知,Javascript是单线程执行的,这也就是说:JavaScript在同一个时间上只能处理一件事.他不像C,Java等这些多 线程的,可以开不同的线程 ...