| 订阅 | 在线投稿
分享
 
 
 

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

2008-07-15 07:06:47 编辑來源:互联网 国际版 评论
 
 
本文为【实例讲解实现SQL下的字符串拆分具体方法】的汉字拼音对照版显示拼音
  yinweigongzuodeyuanyinkaifaguoyigechaifenzifuchuandeSQLhanshuxianzaibatatiechulaiyudajiagongmianxuexi

  gaihanshuruxia

  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

  使shiyongfangfa

  Syntax:

  StringSplit (stringToSplit nvarchar(max) , separator nvarchar(10) )ArgumentsstringToSplit yongyufengedewenbenseparator fengezifuSampleszaicunchuguochenghuozheSQLjiaobenzhong使shiyongruxiadefangfa

  SELECT * FROM dbo.StringSplit('jisuanji,IT,C#,SQL',',')

  dechudejieguoruxia

  jisuanji

  IT

  C#

  SQL原文
 
 
因为工作的原因,开发过一个拆分字符串的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
󰈣󰈤
 
 
>>返回首页<<
 为你推荐
 
 
 
 转载本文
 UBB代码 HTML代码
复制到剪贴板...
 
 
 热帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
©2005- 王朝网络 版权所有