select (select RealName+',' from Fmis_User where fmis_User.Code in (select * FROM dbo.f_SplitToNvarchar(DealingName,',')) FOR XML PATH('') ) from CustomerRepairComplaints as cus
/* 函数名称:f_SplitToNvarchar 作用:实现split功能的函数 设计思路:将nvarchar类型字符结合的一个串,分隔到一张只有一列nvarchar类型的表里 */ CREATE FUNCTION [dbo].[f_SplitToNvarchar] ( @SourceSql NVARCHAR( MAX ), --源分隔字符串 @StrSeprate VARCHAR (10) --分隔符
扫描二维码关注公众号,回复:
13183017 查看本文章
) RETURNS @ temp TABLE (col NVARCHAR( MAX )) AS BEGIN DECLARE @i INT SET @SourceSql = RTRIM(LTRIM(@SourceSql)) SET @i = CHARINDEX(@StrSeprate, @SourceSql) WHILE @i >= 1 BEGIN INSERT @ temp VALUES ( LEFT (@SourceSql, @i -1) ) SET @SourceSql = SUBSTRING (@SourceSql, @i + 1, LEN(@SourceSql) -@i) SET @i = CHARINDEX(@StrSeprate, @SourceSql) END IF @SourceSql <> '\' INSERT @ temp VALUES ( @SourceSql ) RETURN END GO |
调用示例:
1 |
SELECT col FROM f_SplitToNvarchar( '1,2,3,4' , ',' ); |
如图所示: