zoukankan      html  css  js  c++  java
  • TSQL的Split XuZhao

    --创建一个变量,存储要进行分割存储的字符串
    declare @str varchar(128);
    set @str = '01,2,331,4,5,06,7,5432,78';
    
    --变量表,用于存放分割后的字符串
    declare @table table
    (
    	n varchar(128)
    )
    
    --变量,临时存放每次分割时的字符串
    declare @char varchar(128);
    set @char = (select SUBSTRING(@str,0,CHARINDEX(',',@str)));
    
    --开始循环,根据分割后的字符串长度,判断是否继续循环
    while(len(@char) > 0)
      begin
    	--将预先分割的第一个字符串存入数据库
        insert into @table values(@char);
        
        --从要分割的字符串中剔除掉已经存在的字符串
    	set @str = (select SUBSTRING(@str,LEN(@char)+2,len(@str)));
    	
    	--从剔除后的字符串中重新查找指定分割符前的所有字符串,如果没有找到,此时的@char将为空,结束循环
    	set @char = (select SUBSTRING(@str,0,CHARINDEX(',',@str)));
      end
     
    --将最后剩下的字符串也一并存入
    insert into @table values(@str);
    
    --输出表的数据
    select * from @table;
    
    
      最近总在学习SQL方面的技术,从最基本的知识开始,哪怕自己会的,都会去看书学习,无赖间发现T-SQL中好象没有Split方法,无聊中就写了这么一个T-SQL中分割字符串的简单语句,如有雷同,实属荣幸!
  • 相关阅读:
    硬盘安装FreeBSD 6.1release步骤
    Centos,bash: service: command not found
    test1tset
    ubuntu只能访问部份网站的处理方法
    lamp lnmp
    调查用QQ企业邮箱的smtp需要添加spf1
    asp.net文件下载
    FreeBSD更新ports源
    ubuntu 12.10 安装 fcitx 五笔
    csh/tcsh颜色配置
  • 原文地址:https://www.cnblogs.com/x1988z/p/1855956.html
Copyright © 2011-2022 走看看