在数据库操作时,我们会遇到将一个字段中的多个用户的编号或者账号转换成中文字符并以特殊符号分开,接下来就是我在开发过程中的一个函数:
---函数定义
go
CREATE FUNCTION dbo.f_strUnites(@c nvarchar(2000),@split nvarchar(2))
RETURNS nvarchar(max)
AS
BEGIN
declare @t table(col nvarchar(2000),col2 nvarchar(2000))
while(charindex(@split,@c)<>0)
begin
insert @t(col,col2) values (substring(@c,1,charindex(@split,@c)-1),(select displayName from UserNew where account=(substring(@c,1,charindex(@split,@c)-1))))
set @c = stuff(@c,1,charindex(@split,@c),'')
end
insert @t(col,col2) values (@c,(select displayName from UserNew where account=@c))
DECLARE @re varchar(100)
SET @re=''
SELECT @re=@re+','+CAST(col2 as nvarchar)
FROM @t
RETURN(STUFF(@re,1,1,''))
END
GO
-- 调用函数
SELECt dic_ss=dbo.f_strUnites(E.workflowUser,',') from Enquiry E
DROP FUNCTION dbo.f_strUnites