常用SQL函数(字符串分隔转表、自增长转编号)

字符串分隔转表

-- =============================================
-- Author:		
-- Create date: 
-- Description:	分割字符串
-- =============================================
ALTER FUNCTION [dbo].[Fun_SplitSTR](
	@s   varchar(max),   --待分拆的字符串
	@split varchar(10)     --数据分隔符
)
RETURNS @re TABLE(col varchar(max))
AS
BEGIN
	 DECLARE @splitlen int
	 SET @splitlen=LEN(@split+'a')-2
	 WHILE CHARINDEX(@split,@s)>0
	 BEGIN
		INSERT @re VALUES(LEFT(@s,CHARINDEX(@split,@s)-1))
		SET @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
	 END
	 INSERT @re VALUES(@s)
 RETURN
END
 

 自增长转编号

/**
* 根据自增长,得出Sno的函数
*/
CREATE Function [dbo].[Fun_GetSNo](
	@Prefix varchar(2),
	@TableName varchar(30)
)
returns varchar(12)
as 
begin
	declare @ID numeric(18,0)
	select @ID=IDENT_CURRENT(@TableName)--获取当前设置表的标识ID

  	if (@ID is null) 
	begin
		return @Prefix+right( replicate('0',10)+cast(1 as varchar),10)
	end
	return @Prefix+right( replicate('0',10)+cast(@ID as varchar),10)
END

 

posted on 2018-11-15 19:13  凡夫·俗子  阅读(674)  评论(0编辑  收藏  举报