经常需要从varchar列生成由逗号分隔的逻辑字符串字符串

时间:2014-09-02 00:47:07

标签: sql-server tsql

这是我在SQL Server 2012中针对不同表/列(@names / lastname)的常用内容:

declare @names as table (lastname varchar(99));

insert into @names 
   select 'adam' 
   union 
   select 'eve' 
   union 
   select 'apple';

declare @v varchar(max) ='';

select @v = @v + ',' + lastname from @names;

select substring(@v, 2, len(@v))    --adam,apple,eve

将上述内容封装到MAGIC函数或MAGIC过程中的最佳方法是什么 表/列可以参数化为输入,返回字符串'adam,apple,eve'? ------------------------------------编辑 澄清::重点是通过传递表名称和逻辑来封装逻辑。某个实体的列名称,它将从现有表/列返回“adam,apple,eve”字符串。 (现在,如果使用上面的逻辑或使用xmlpath进行字符串连接,这是不重要的);如果将表/列名称传递给存储过程,则需要动态sql,这似乎是一种过度杀伤......

0 个答案:

没有答案