当前位置:  数据库>sqlserver

T-SQL 实现 Split 的方法

    来源: 互联网  发布时间:2014-08-29

    本文导语:  T-SQL 实现 Split 的方法,有需要的朋友可以参考下。 代码如下:  DECLARE @list VARCHAR(100), @cnt INT, @idxStart INT, @idxEnd INT  DECLARE @sites TABLE(id INT)      SET @list = '23, 34, 44, 56, 78';   --SET @list = '23';      SET @list = replace(@list, ' ', '') ...

T-SQL 实现 Split 的方法,有需要的朋友可以参考下。

代码如下:

 DECLARE @list VARCHAR(100), @cnt INT, @idxStart INT, @idxEnd INT
 DECLARE @sites TABLE(id INT)
  
  SET @list = '23, 34, 44, 56, 78';
  --SET @list = '23';
  
  SET @list = replace(@list, ' ', '')
  
  IF(RIGHT(@list, 1)',')
       SET @list = @list + ','
 
 SET @cnt = len(replace(@list, ',', ',,'))-len(@list);
 SET @idxStart = 0
 SET @idxEnd = 0
 
 WHILE @cnt > 0
 BEGIN
       SET @idxEnd = charindex(',', @list, @idxStart)
       INSERT INTO @sites VALUES(convert(INT, substring(@list, @idxStart, @idxEnd-@idxStart)));
     
       SET @idxStart = @idxEnd + 1
       SET @cnt = @cnt - 1
 END
 
SELECT * FROM @sites;

其实很简单,应该也比较好理解。
 
附1:自个写的,也分享下

代码如下:
declare @sites table(id varchar(10))
declare @str1 varchar(50)
declare @i int
set @str1=',,12,23 , 54,'
set @str1=replace(@str1,' ','')
set @str1= replace(ltrim(rtrim(replace(@str1,',',' '))),' ',',')
set @i=charindex(',',@str1)
while @i>=1
begin
    insert into @sites values(left(@str1,@i-1))
    set @str1=substring(@str1,@i+1,len(@str1)-@i)
    set @i=charindex(',',@str1)
end
if @str1''
    insert into @sites values(@str1)
select * from @sites

附2:

代码如下:
SET @cnt = len(replace(@list, ',', ',,'))-len(@list);

这个方法判断 个数 高!


    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 备份数据库的T-SQL语句
  • T-SQL常用的聚合函数
  • T-SQL实例 函数结果设置为列别名
  • T-SQL常用的数学函数
  • t-sql/mssql用命令行导入数据脚本的SQL语句示例
  • 使用T-SQL语句创建、修改、删除数据库
  • T-SQL语句创建数据库的例子(图文)
  • t-sql清空表数据的两种方式示例(truncate and delete)
  • 学习T-SQL中default值的使用
  • T-SQL学习之一 T-SQL基础
  • T-SQL常用的元数据函数
  • T-SQL常用游标函数实例学习
  • T-SQL判断一个日期是否为今天的函数
  • 用t-sql语句完整备份数据库的例子
  • 论坛 iis7站长之家
  • SQLServer用t-sql命令批量删除数据库中指定表(游标循环删除)
  • SQL Server中的T-SQL的基本对象
  • T-SQL常用的系统函数
  • T-SQL自定义函数返回前一天或后一天日期的例子
  • 如何在T-sql 中实现数组的功能


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3