SQL SPLIT2
CREATE   FUNCTION  F_SQLSERVER_SPLIT( @Long_str   varchar ( 8000 ), @split_str   varchar ( 100 ))     RETURNS    @tmp   TABLE (
 RETURNS    @tmp   TABLE (         ID           inT       IDENTITY   PRIMARY   KEY ,
     ID           inT       IDENTITY   PRIMARY   KEY ,       short_str    varchar ( 8000 )
     short_str    varchar ( 8000 )     )
 )     AS
 AS     BEGIN
 BEGIN     DECLARE   @long_str_Tmp   varchar ( 8000 ), @short_str   varchar ( 8000 ), @split_str_length   int
      DECLARE   @long_str_Tmp   varchar ( 8000 ), @short_str   varchar ( 8000 ), @split_str_length   int     SET   @split_str_length   =   LEN ( @split_str )
      SET   @split_str_length   =   LEN ( @split_str )     IF   CHARINDEX ( @split_str , @Long_str ) = 1
      IF   CHARINDEX ( @split_str , @Long_str ) = 1   SET   @long_str_Tmp = SUBSTRING ( @Long_str , @split_str_length + 1 , LEN ( @Long_str ) - @split_str_length )
           SET   @long_str_Tmp = SUBSTRING ( @Long_str , @split_str_length + 1 , LEN ( @Long_str ) - @split_str_length ) ELSE
      ELSE  SET   @long_str_Tmp = @Long_str
           SET   @long_str_Tmp = @Long_str  IF   CHARINDEX ( REVERSE ( @split_str ), REVERSE ( @long_str_Tmp )) > 1
      IF   CHARINDEX ( REVERSE ( @split_str ), REVERSE ( @long_str_Tmp )) > 1      SET   @long_str_Tmp = @long_str_Tmp + @split_str
          SET   @long_str_Tmp = @long_str_Tmp + @split_str      ELSE
      ELSE     SET   @long_str_Tmp = @long_str_Tmp
          SET   @long_str_Tmp = @long_str_Tmp      IF   CHARINDEX ( @split_str , @long_str_Tmp ) = 0
      IF   CHARINDEX ( @split_str , @long_str_Tmp ) = 0  Insert   INTO   @tmp   select   @long_str_Tmp
          Insert   INTO   @tmp   select   @long_str_Tmp   ELSE
      ELSE  BEGIN
          BEGIN  WHILE   CHARINDEX ( @split_str , @long_str_Tmp ) > 0
              WHILE   CHARINDEX ( @split_str , @long_str_Tmp ) > 0      BEGIN
                  BEGIN     SET   @short_str = SUBSTRING ( @long_str_Tmp , 1 , CHARINDEX ( @split_str , @long_str_Tmp ) - 1 )
                      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
                      DECLARE   @long_str_Tmp_LEN   INT , @split_str_Position_END   int     SET   @long_str_Tmp_LEN   =   LEN ( @long_str_Tmp )
                      SET   @long_str_Tmp_LEN   =   LEN ( @long_str_Tmp )     SET   @split_str_Position_END   =   LEN ( @short_str ) + @split_str_length
                      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 ))
                      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
                      IF   @short_str <> ''   Insert   INTO   @tmp   select   @short_str      END
                  END             END
          END  RETURN
      RETURN       END
 END
SQL SPLIT2的更多相关文章
- Excel 数据导入SQL XML 自动生成表头
		去出差的时候应客户要求要要将Excel 文件内的数据批量导入到数据库中,而且有各种不同种类的表格,如果每一个表格多对应一个数据表的话, 按照正常的方法应该是创建数据表,创建数据库中映射的数据模型,然后 ... 
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
		最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ... 
- SQL Server 大数据搬迁之文件组备份还原实战
		一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ... 
- Sql Server系列:分区表操作
		1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ... 
- SQL Server中的高可用性(2)----文件与文件组
		在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ... 
- EntityFramework Core Raw SQL
		前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ... 
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
		从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ... 
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
		从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ... 
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
		从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ... 
随机推荐
- EQueue - 一个C#写的开源分布式消息队列的总体介绍(转)
			源: EQueue - 一个C#写的开源分布式消息队列的总体介绍 EQueue - 一个纯C#写的分布式消息队列介绍2 EQueue - 详细谈一下消息持久化以及消息堆积的设计 
- java实现——009Fibonacci数列
			1.循环 public class T009 { public static void main(String[] args){ System.out.println(fibonacci(3)); } ... 
- 可用于Windows Server 2008 R2的Xbox One手柄、接收器驱动
			让客厅里的Gen8可以玩FC和PS1游戏,折腾了半天,终于将Xbox One手柄驱动弄好: http://www.drvsky.com/Microsoft/Xbox_One.htm http://ww ... 
- 数据可视化-OmniGraffle软件
			OmniGraffle Pro for mac破解版是一款运行在MAC OS平台上的思维导图流程图制作软件,通过思维导图软件(OmniGraffle Pro MAC)帮你组织头脑中思考的信息,组织头脑 ... 
- LINUX 无法登入系统(2017-1-16)
			很好的博文:http://blog.csdn.net/caizi001/article/details/38659189 
- Android 使用AsyncTask 下载图片的例子,学会使用AsyncTask
			1.添加布局文件:activity_main.xml 1 <LinearLayout xmlns:android="http://schemas.android.com/apk/res ... 
- CentOS下架设VNC服务器
			CentOS下架设VNC服务器1.什么是VNC服务器?百度百科:VNC (Virtual Network Computer)是虚拟网络计算机的缩写.它 是一款优秀的远程控制工具软件,由著名的 AT&a ... 
- JS模板引擎:基于字符串拼接
			目的 编写一个基于字符串拼接的js模板引擎雏形,这里并不会提供任何模板与数据的绑定. 基本原理 Javascript中创建函数的方式有多种,包括: 1. var func = function () ... 
- 大数据时代的杀手锏----Tachyon
			一.Tachyon系统的简介 Tachyon是一个分布式内存文件系统,可以在集群里以访问内存的速度来访问存在tachyon里的文件.把 Tachyon是架构在最底层的分布式文件存储和上层的各种计算框架 ... 
- Android项目中打jar包 和 使用
			第一步,把普通的android project设置成库项目 库项目也是一个标准的android项目,因此你先创建一个普通的android项目. 这个项目可以起任何的名称,任何的报名,设置其他需要设置的 ... 
