• SQL 循环表的数据,拆分函数


          

            遇到两个小知识点。自己总结一下,方便自己查阅,也是为了让自己养成一个习惯。一个写博客的习惯。上次看了一遍文章。讲的是写博客的好处。

    自己看了,也有所感触。我也知道,不一定能坚持下来。但我想尝试一下。尝试养成这样一个习惯。

      

         1 SQL循环表里的数据

         

    select * into #t1 from Userinfo
    declare @id varchar(2000);
    while (exists(select ProjectID from #t1))
    begin
         select @id=userid from #t1
         delete #t1 where ProjectID=@id
    end
    drop table #t1

         2  SQL拆分函数

    USE [XSMAN_DB]
    GO
    /****** Object:  UserDefinedFunction [dbo].[func_SplitToTable]    Script Date: 12/03/2012 23:25:37 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    -- =============================================  
    -- Author:  cxy  
    -- Create date: 2010-10-28  
    -- Description: 根据分隔符分割字符串,返回表  
    -- =============================================  
    Create FUNCTION [dbo].[func_SplitToTable]  
    (  
     @SplitString nvarchar(max),  
     @Separator nvarchar(10)=' '  
    )  
    RETURNS @SplitStringsTable TABLE  
    (  
     [id] int identity(1,1),  
     [value] nvarchar(max)  
    )  
    AS  
    BEGIN  
     DECLARE @CurrentIndex int;  
     DECLARE @NextIndex int;  
     DECLARE @ReturnText nvarchar(max);  
     SELECT @CurrentIndex=1;  
     WHILE(@CurrentIndex<=len(@SplitString))  
     BEGIN  
      SELECT @NextIndex=charindex(@Separator,@SplitString,@CurrentIndex);  
      IF(@NextIndex=0 OR @NextIndex IS NULL)  
       SELECT @NextIndex=len(@SplitString)+1;  
      SELECT @ReturnText=substring(@SplitString,@CurrentIndex,@NextIndex-@CurrentIndex);  
      INSERT INTO @SplitStringsTable([value]) VALUES(@ReturnText);  
      SELECT @CurrentIndex=@NextIndex+1;  
     END  
     RETURN  
    END
    
    --执行函数 1
    select * from dbo.func_SplitToTable('1,2',',')
    
    --执行函数 2
    select * from dbo.func_SplitToTable('1-2-3','-')
    
    --执行函数 3
    select * from dbo.func_SplitToTable('1 2 3',' ')

      执行结果:

             不积跬步,无以至千里;不积小流,无以成江海.希望我能坚持下去。努力!

         

  • 相关阅读:
    计算1的个数
    【环境配置】配置git
    Spoj 9887 Binomial coefficients 构造
    程序猿与HR博弈之:有城府的表达你的兴趣爱好
    C和指针 (pointers on C)——第六章:指针(上)
    关于undo表空间配置错误的ORA-30012
    每天进步一点点——Linux系统中的异常堆栈跟踪简单实现
    javaScript 对象的使用
    手机游戏加密那点事儿_2d资源加密_1
    支持向量机
  • 原文地址:https://www.cnblogs.com/for917157ever/p/2800591.html
Copyright © 2020-2023  润新知