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

来自「sqlserver 数据库编程的绝好脚本」· SQL 代码 · 共 32 行

SQL
32
字号
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

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?