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. Postman 测试web接口(推荐)

  2. Android点击Button按钮的四种事件监听方法总结

    首先我们在activity_main.xml里面先定义一个Button空间 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <RelativeLayout xmlns:a ...

  3. AFNetWorking发送post请求,Code=-1016错误

    使用AFNetWorking发送post请求时,可能会出现下面Code=-1016问题.打印的error如下: Error:Error Domain=com.alamofire.error.seria ...

  4. angular登录状态检查

    待补充!!!!!!!!!!! 参加链接: http://www.brafox.com/post/2015/javascript/angularjs/angularjs-router-intercept ...

  5. 关于《master opencv with practical computer vision projects》的源代码

    很多读者都在向我要<master opencv with practical computer vision projects>的源代码,现向读者公布,具体源代码地址如下: https:/ ...

  6. ndk-stack 调试 android c++ 代码崩溃位置

    在android下面使用jni来调用c++,在开发游戏是非常正常的.但是要调试c++部分却是非常麻烦的问题.如果快速定位崩溃位置呢.NDK提供了一个小工具ndk-stack. 首先,我们先配置环境,把 ...

  7. gulp学习指南之CSS合并、压缩与MD5命名及路径替换

    1.引入插件 var gulp = require('gulp'), // uglify = require('gulp-uglify'), concat = require('gulp-concat ...

  8. Outlook 2013 电子邮件账户设置备份与恢复

    与之前版本不同,Outlook 2013需要备份以下注册表内容:HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Outlook\Profiles恢复时 ...

  9. Objective-C中的面向对象编程

    1.过程式编程实例,画出Shape数组中的图形: // // main.m // hello-obj // // Created by zhouyang on 16/4/4. // Copyright ...

  10. 二 APPIUM Android自动化 环境搭建

    1.安装JAVA运行环境   2.安装Android开发环境   3.安装nodejs 下载地址:https://nodejs.org/en/ 下载完成之后双击安装.   4.安装APPIUM,App ...