MySQL字符串瓜分自定义函数

MySQL字符串瓜分自定义函数

MySQL字符串分割自定义函数

/**

*方法一

*/

select * from dbo.split(’01__02__03’,’__’)

  发生错误,返回的结果不是我们原本要的结果:

  ——————-

  –想要的结果

  01

  02

  03

  —————–

  –实际结果:

  01

  _02

  _03

  以前我也写过类似的字符串分割自定义函数,也没有想过上面出现的这样问题。

  我原来的函数是这样的:

?

  /*?
  StringToTable?
  */?
  CREATE?FUNCTION?StringToTable(@StringX?varchar(8000),@Split?nvarchar(10))?
  RETURNS?@TableResult?TABLE(TableID?nvarchar(20))?
  AS?
  BEGIN?
  DECLARE?@Index?int?
  SET?@Index=CHARINDEX(@Split,@StringX,1)?
  WHILE?(@Index>=1)?
  BEGIN?
  INSERT?INTO?@TableResult?SELECT?LEFT(@StringX,@Index-1)?
  SELECT?
  @StringX=RIGHT(@StringX,LEN(@StringX)-@Index),@Index=CHARINDEX(@Split,@StringX,1)?
  END?
  IF(@StringX<>’’)?INSERT?INTO?@TableResult?SELECT?@StringX?
  RETURN?
  END

?

  使用类似的select * from dbo.split(’01__02__03’,’__’) 一样出问题。

  经过一下的修改就可以了,修改后程序为: 

?

 /*?
  StringToTable?
  */?
  CREATE?FUNCTION?StringToTable(@StringX?varchar(8000),@Split?nvarchar(10))?
  

免责声明: 本文仅代表作者个人观点,与无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

相关资料

推荐阅读

友情链接:
Copyright © 2013-2023 页 当前在线:1049人  网站在21时40分42秒内访问总人数:265026人 当前 13.80%  

MySQL字符串瓜分自定义函数

相关文章:

你感兴趣的文章:

标签云: