常用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
浙公网安备 33010602011771号