拆分字符串的表值函数

来源:互联网 发布:青岛程序员招聘 编辑:程序博客网 时间:2024/05/22 10:43

USE [zxm10_his]
GO
/****** 对象:  UserDefinedFunction [dbo].[Split]    脚本日期: 07/06/2011 13:47:37 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
/***************************************************************
// 函数名称: [Split]
// 功能描述: 拆分字符串,例如传入Select * From Split('1,2,3' , ',')   拆分为 1 2 3
// 修改记录
// ---------------------------------------------------------------
// 修改日期    版本号     修改人      修改摘要
// ---------------------------------------------------------------
// 
// ***************************************************************/
ALTER   FUNCTION [dbo].[Split]  
(  
@c VARCHAR(MAX) ,  
@split VARCHAR(50)  
)  
RETURNS @t TABLE ( col VARCHAR(50) )  
AS 
BEGIN 
    WHILE ( CHARINDEX(@split, @c) <> 0 )  
        BEGIN 
            INSERT  @t( col )  
            VALUES  ( SUBSTRING(@c, 1, CHARINDEX(@split, @c) - 1) )  
            SET @c = STUFF(@c, 1, CHARINDEX(@split, @c), '')  
        END 
    INSERT  @t( col ) VALUES  ( @c )  
    RETURN 
END

 

原创粉丝点击