当前位置:  数据库>sqlserver

sql server中实现一个Split表函数

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

    本文导语:  在sql server中实现一个 Split 表函数,可以将一个字符串按指定分隔符进行分割,返回一个表。   代码如下: --Split 表函数将一个字符串按指定分隔符进行分割,返回一个表。  create function split(      @string varchar(255),--待分割...

在sql server中实现一个 Split 表函数,可以将一个字符串按指定分隔符进行分割,返回一个表。
 

代码如下:
--Split 表函数将一个字符串按指定分隔符进行分割,返回一个表。 
create function split(
     @string varchar(255),--待分割字符串 
     @separator varchar(255)--分割符 
)returns @array table(item varchar(255)) 
as 
begin 
    declare @begin int,@end int,@item varchar(255) 
    set @begin = 1 
    set @end=charindex(@separator,@string,@begin) 
    while(@end0) 
    
    begin
       set @item = substring(@string,@begin,@end-@begin) 
       insert into @array(item) values(@item) 
       set @begin = @end+1 
       set @end=charindex(@separator,@string,@begin) 
   end 
   set @item = substring(@string,@begin,len(@string)+1-@begin) 
   if (len(@item)>0) 
     insert into @array(item) values(substring(@string,@begin,len(@string)+1-@begin)) 
     return 
end 
 

注:分割结果仿照Java的字符串方法split。

下面来看两个测试用的例子。
测试一:    
 

代码如下:
select * from dbo.split('a,b,c,d',',')
-----或者(待分割字符串末尾多了个逗号)
select * from dbo.split('a,b,c,d,',',')

输出结果:

    
测试二:
 

代码如下:
select * from dbo.split(',a,,b,c,d',',')

输出结果:


    
 
 

您可能感兴趣的文章:

  • Oracle SQL中实现indexOf和lastIndexOf功能的思路及代码
  • ms sql server中实现的unix时间戳函数(含生成和格式化,可以和mysql兼容)
  • sql server中实现行转列的代码
  • 如何在SQL Server中实现 Limit m,n 的功能
  • 如何在T-sql 中实现数组的功能
  • 如何将sql执行的错误消息记录到本地文件中实现过程
  • sql server中实现二进制与字符类型之间的数据转换
  • SQL Server中实现二进制与字符类型之间的数据转换
  • 在SQL Server中实现最短路径搜索的解决方法
  • 在SQL中有函数,比如COUNT(*),怎样通过JDBC调用获得函数值????
  • SQL中含函数,比如COUNT(*),怎样在JDBC接口中取出函数值????
  • sql server中ISNULL函数与Mysql中IFNULL函数的用法
  • sql数据库不能直接用instr函数
  • T-SQL常用的聚合函数
  • sql server中自定义一个简单的 split 函数
  • 初学者问题:标准的sql里有处理日期的函数吗?
  • access与sql server几个常用函数的区别(图文)
  • 分享:sql server 取日期的年月日部分的函数
  • sql函数实现递归查询示例
  • T-SQL常用的数学函数
  • T-SQL实例 函数结果设置为列别名
  • SQL Server中的数据复制到的Access中的函数
  • C处理SQL命令字符串的函数哪里有?
  • SQL中函数 replace 的参数1的数据类型ntext无效的解决方法
  • SQL中有count这个函数,请问如何将这个值取出
  • 高分求java.sql类库的类说明,函数及方法!
  • php is_numberic函数产生sql注入漏洞怎么解决
  • sql函数CAST与CONVERT的区别
  • SQL的SUBSTR()函数使用介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • SQL Server 2008如何进行数据库分离和附加详细介绍
  • 微软网站下载的Ms SQL Server2000 JDBC Driver,必须用英文版的SQL server2000吗?
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • 安装sql server 2008 management提示已安装 SQL Server 2005 Express的解决方法
  • SQL Server 2008 事件探查器(SQL SERVER Profiler) 列的说明
  • (X86/X64)安装sql server 2005 过程中提示“无法启动sql server的 启动”的解决方法
  • SQL Server降权运行 SQL Server 2000以GUESTS权限运行设置方法
  • MS SQL Server2014链接到MS SQL Server 2000的解决方案及问题处理
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • sql server不存在 sql server拒绝访问第1/3页
  • SQL Server误区30日谈 第5天 AWE在64位SQL SERVER中必须开启
  • 一定得帮我看看sql server2000通过sql server2000jdbc driver的代码
  • SQL Server统计SQL语句执行时间的脚本
  • SQL Server误区30日谈 第21天 数据损坏可以通过重启SQL Server来修复
  • SQL Server误区30日谈 第3天 即时文件初始化特性可以在SQL Server中开启和关闭
  • 创建 sql server 链接服务器的sql代码
  • jsp jdbc为什麽不能把数据insert到sql server 中,也不能从sql server中提取数据?!
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • sql server 2005 三个常用的小sql
  • SQL Server 中查看SQL句子执行所用的时间
  • 推荐SQL Server 重新恢复自动编号列的序号的sql代码
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端管理工具 SQuirreL SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • sql2005 大数据量检索分页的sql代码


  • 站内导航:


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

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

    浙ICP备11055608号-3