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

本文介绍了一种使用SQL函数处理字符串的方法,包括如何将带有分隔符的字符串转换为表格格式,以及如何根据自增长ID生成固定格式的编号。这些技巧对于数据库管理和数据清洗特别有用。

字符串分隔转表

-- =============================================
-- 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

 

转载于:https://www.cnblogs.com/linyechengwei/p/9965537.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值