当前位置:  数据库>sqlserver

sql server实现的自定义Split函数

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

    本文导语:  写sql程序时,需要拆分字符串。在vb中提供有这样的函数,在其他的语言的类库中的string对象也提供有拆分一个字符串到数组中的split函数。 或许因为sql没有数组类型,因此没有创建这样的字符串处理函数。      sql没有数...

写sql程序时,需要拆分字符串。在vb中提供有这样的函数,在其他的语言的类库中的string对象也提供有拆分一个字符串到数组中的split函数。
或许因为sql没有数组类型,因此没有创建这样的字符串处理函数。  
  
sql没有数组类型,但是可以相似的有table类型数值。
自己写了一个自定义的split函数,以解决目前遇到的问题。
设计思路:函数输入值为一个字符类型(varchar之类的)的参数,返回一个table类型的结果。 
  
定义如下: 
1,参数定义和说明 
输出参数:@splitString   varchar(8000)   --   需要Split的字符串 
                      @separate   varchar(10)     ---分隔符 
返回:@returnTable   table(col_Value   varchar(20))     --单个字符长度可以按照需要修改 
  
2,函数体 
 

代码如下:

CREATE   FUNCTION   SplitStr   (@splitString   varchar(8000),   @separate   varchar(10)) 
RETURNS   @returnTable   table(col_Value   varchar(20)) 
AS 
  
BEGIN 
  declare   @thisSplitStr   varchar(20) 
  declare   @thisSepIndex   int 
  declare   @lastSepIndex   int 

  set   @lastSepIndex   =   0 

  if   Right(@splitString   ,len(@separate))      @separate   set   @splitString   =   @splitString   +   @separate 
  set   @thisSepIndex   =   CharIndex(@separate,@splitString   ,@lastSepIndex) 
  
  while   @lastSepIndex  


    
 
 

您可能感兴趣的文章:

  • 在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()函数使用介绍
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • Sql学习第一天——SQL 将变量定义为Table类型(虚拟表)
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • 在sql Server自定义一个用户定义星期函数
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • sql2005 批量查询数据库中自定义对象的脚本
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • 在sql server中自定义一个Split函数
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • sql server定义联合主键的方法详解
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • 我想把csdn的论坛改成一个软件平台,另外增加数据查询功能,聊天功能,不知怎样实现比较好?我想用jbuider 7+SQL server实现,不知如何?
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • SQL Server设置主键自增长列(使用sql语句实现)
  • 如何实现DOS下用Turbo C 连接SQL Server 7?
  • NOSQL iis7站长之家
  • 如何实现用jsp将sql server 的数据备份出来!并指定存放路径!
  • 如何实现图片上传啊,而且我想把它记录在SQL SERVER中!!有空请帮我!!!
  • 用oracle pl/sql 从A unix机器,去读取B unix机器上的一个文件,怎么实现?
  • 用SQL语句实现替换字符串
  • 请问在 Linux 下如何用代码实现连接oracle数据库 并 执行 SQL 语句?
  • 写sql进数据库(DB2)怎样实现自动插入(表的主键为String)
  • SQL Server 7.0或2000 的jdbc驱动程序中提供了连接池的实现吗?
  • 在ADF中跟踪SQL执行时间实现代码
  • sql server中通过查询分析器实现数据库的备份与恢复方法分享
  • SQL Server本地时间和UTC时间的相互转换实现代码
  • java实现简单的给sql语句赋值的示例
  • T-SQL 实现一个简单的 Split 函数
  • 在SQL中获取一个长字符串中某个字符串出现次数的实现方法
  • sql server日期相减 的实现详解
  • java命名空间javax.sql.rowset.spi类syncprovider的类成员方法: getrowsetwriter定义及介绍
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • java命名空间java.sql接口sqlinput的类成员方法: readblob定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口sqlinput的类成员方法: readarray定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口sqlinput的类成员方法: readsqlxml定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口sqlinput的类成员方法: readrowid定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口sqlinput的类成员方法: readnclob定义及介绍




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

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

    浙ICP备11055608号-3