实例讲解实现SQL下的字符串拆分具体方法

作者:袁风景 时间:2008-12-09 14:55:00 

因为工作的原因,开发过一个拆分字符串的SQL函数,现在把它贴出来,与大家共勉学习。

该函数如下:


           

CREATE function [dbo].[StringSplit](@str nvarchar(max),@spliter nvarchar(10))

returns @tb table(ch nvarchar(256))

AS

BEGIN

DECLARE @Num int,@Pos int, @NextPos int

SET @Num = 0

SET @Pos = 1

WHILE(@Pos <= LEN(@str))

BEGIN

SELECT @NextPos = CHARINDEX(@spliter, @str, @Pos)

IF (@NextPos = 0 OR @NextPos IS NULL)

SELECT @NextPos = LEN(@str) + 1

INSERT INTO @tb VALUES(RTRIM(LTRIM(SUBSTRING(@str, @Pos, @NextPos - @Pos))))

SELECT @Pos = @NextPos+1

END

return

END

使用方法:

Syntax:

StringSplit (stringToSplit nvarchar(max) , separator nvarchar(10) )ArgumentsstringToSplit 用于分割的文本separator 分隔字符Samples在存储过程或者SQL脚本中,使用如下的方法

SELECT * FROM dbo.StringSplit('计算机,IT,C#,SQL',',')


得出的结果如下:


           

计算机

IT

C#

SQL


标签:
0
投稿

猜你喜欢

  • SQL0290N表空间状态问题:停顿的独占处理

    2008-12-26 17:24:00
  • 滑动展开/收缩广告代码实例效果

    2007-10-09 12:44:00
  • sqlserver 查询数据库大小的方法

    2012-08-21 10:22:10
  • 浅谈图表参数化设计

    2010-08-29 18:03:00
  • 三种禁用FileSystemObject组件的方法

    2007-09-23 15:52:00
  • 给在DreamWeaver编写CSS的人一些习惯建议

    2007-12-25 12:10:00
  • 如何实现My SQL中的用户的管理问题

    2008-12-03 13:56:00
  • 推荐给大家看的设计书

    2009-02-23 12:17:00
  • 如何让新安装的MySQL数据库变得更安全

    2009-01-04 13:19:00
  • asp 简单分页代码

    2011-03-11 10:53:00
  • Google logo “我的中国”谷歌国际少年绘画大赛小学1-3年级

    2008-12-19 12:26:00
  • 《写给大家看的设计书》阅读笔记之亲密性原则

    2009-07-08 20:02:00
  • javascript 版 Bad Apple 字符动画

    2010-01-28 12:19:00
  • asp如何用JMail POP3接收电子邮件?

    2010-06-13 13:09:00
  • sql server 中删除默认约束的通用sql脚本

    2009-02-01 17:23:00
  • HTML5硝烟弥漫

    2009-07-06 14:44:00
  • 利用XML实现通用WEB报表打印实际使用中的例子

    2008-09-04 14:42:00
  • asp从Excel中筛选符合条件的记录保存至新的Excel中

    2007-09-06 19:20:00
  • 初学者必读:经典的数据库记录分页代码

    2009-01-08 15:27:00
  • 日式酒店电梯面板设计

    2008-06-08 13:23:00
  • asp之家 网络编程 m.aspxhome.com