您的位置:首页 > 数据库

SQL Server中自定义函数:用指定的分隔符号分割字符串

2014-11-13 11:23 477 查看
2014-11-13

  微软SQL Server数据库中包含了很多内置的函数,入下图:

ALTER FUNCTION [dbo].[Fun_SplitStr]
(
@originalStr      VARCHAR(8000), --要分割的字符串
@split varchar(100)  --分隔符号
)
RETURNS @temp TABLE(Result VARCHAR(100))
AS
BEGIN
DECLARE @result AS VARCHAR(100);   --定义变量用于接收单个结果

SET @originalStr = @originalStr + @split ;

WHILE (@originalStr <> '')
BEGIN
SET @result = LEFT(@originalStr, CHARINDEX(@split, @originalStr, 1) -1) ;

INSERT @temp VALUES(@result) ;

--STUFF()函数用于删除指定长度的字符,并可以在指定的起点处插入另一组字符。
SET @originalStr = STUFF(@originalStr, 1, CHARINDEX(@split, @originalStr, 1), '');
END
RETURN
END


View Code
  调用示例:select * from dbo.Fun_SplitStr('978-7-5007-7234-7','-')
    结果: 978

7

5007

7234

7

本篇完。

技术研究方向:专注于Web(Mvc)开发框架、WinForm开发框架、项目(代码)自动化生成器、ORM等技术研究与开发应用

企业级项目经验:编务管理系统、印前管理系统、印务管理系统、图书销售管理系统、图书发行管理系统、图书馆管理系统、

数据交换平台、ERP综合管理平台

欢迎转载,请注明文章出处与链接信息。 如果文章对您有帮助,请帮忙推荐,谢谢!

撰写人:张传宁 http://www.cnblogs.com/SavionZhang



……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: