SQL Server字符串切割函数

来源:asp之家 时间:2012-08-21 10:18:43 

复制代码
CREATE FUNCTION fGetStrBySplit
(
@Source VARCHAR(max),
@Index INT,
@SplitChar VARCHAR(1)
)
RETURNS varchar(MAX)
AS
BEGIN

DECLARE @Len INT
DECLARE @n INT = 0
DECLARE @ChIndex INT
DECLARE @Result VARCHAR(MAX)
--获取总长度
SET @Len = LEN(@Source)
--获取切割字符位置
SET @ChIndex = CHARINDEX(@SplitChar,@Source)

WHILE @ChIndex > 0
BEGIN
IF(@n = @Index)
BEGIN
SET @Source = SUBSTRING(@Source,0,@ChIndex)
BREAK
END

SET @Source = SUBSTRING(@Source,@ChIndex+1,@Len)
SET @ChIndex = CHARINDEX(@SplitChar,@Source)

SET @Len = LEN(@Source)
SET @n = @n + 1

END

RETURN @Source
END
GO

--调用
DECLARE @value VARCHAR(max)
SET @value = dbo.fGetStrBySplit('645002*01_45854_183677_12',0,'_')
PRINT @value


结果:
645002*01
--1

45854

--2

183677

标签:SQL,Server字符串切割
0
投稿

猜你喜欢

  • 数据库应用经验:如何简单安装MySQL数据库

    2009-01-04 12:58:00
  • Access2003:不支持这种ActiveX控件

    2010-12-09 19:59:00
  • asp中文件与文件夹常用处理函数(文件后缀、创建文件等)

    2011-02-20 11:00:00
  • js页面文字选中后分享到新浪微博实现

    2011-03-17 12:55:00
  • sql语句返回主键SCOPE_IDENTITY()

    2011-09-30 11:28:45
  • asp如何读取一个文件内容?

    2009-11-19 17:23:00
  • 一个比较完美的spacer div技巧

    2009-03-18 19:29:00
  • 几个javascript显示加载进度条代码

    2008-01-19 10:52:00
  • [关注细节的最佳方案]有效期时间格式的展现

    2009-10-30 18:51:00
  • MySql常用命令总结

    2009-09-16 10:51:00
  • 如何用ASP实现文章点击数?

    2008-08-11 21:17:00
  • 八条常见的CSS错误及修复方法

    2010-04-08 16:54:00
  • 谈切图优化加速图片显示—淘宝实例

    2008-01-30 12:24:00
  • 又为ajax上传工具重新写了一个服务器端上传程序

    2009-12-21 14:30:00
  • SQL学习笔记三 select语句的各种形式小结

    2011-09-30 11:09:31
  • Sql Server基本函数

    2008-08-20 18:28:00
  • 常用于后台开发的jQuery插件

    2010-09-25 12:47:00
  • 带你深入了解SQL Server 2008的独到之处

    2009-01-07 14:20:00
  • web 2.0设计指导之一:简单[译]

    2008-10-12 09:37:00
  • 不受欢迎的“欢迎页”

    2008-04-20 16:41:00
  • asp之家 网络编程 m.aspxhome.com