常用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