字符串分拆--格式化.sql

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_FormatSTR]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_FormatSTR]
GO


/*--字符串格式化函数

 分拆指定分隔符的的字符串,并把它重新组成生成固定长度的字符串

--邹建 2004.04(引用请保留此信息)--*/

/*--调用示例

 SELECT dbo.f_FormatSTR('1.1.10','.')
--*/
CREATE FUNCTION f_FormatSTR(
@s varchar(4000),   --要分拆的字符串
@split varchar(10)  --数据分隔符
)RETURNS varchar(8000)
AS
BEGIN
 DECLARE @splitlen int,@re varchar(8000)
 SELECT @splitlen=LEN(@split+'a')-2,@re=''
 WHILE CHARINDEX(@split,@s)>0
  SELECT @re=@re
   +RIGHT(SPACE(20)+(LEFT(@s,CHARINDEX(@split,@s)-1)),20)
   +@split,
   @s=STUFF(@s,1,CHARINDEX(@split,@s)+@splitlen,'')
 RETURN(@re+RIGHT(SPACE(20)+@s,20))
END
GO

你可能感兴趣的:(sql)