转自:http://www.maomao365.com/?p=10739
摘要:
下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示:
实验环境:sql server 2008 R2
实现思路:
将组合字符串中的逗号替换为“ 'as n union all select ' ”,然后将替换后的字符串加上select 和 前后加上单引号 是其成为可执行sql脚本,
最后运行替换后的字符串,就可以得到一张数据表,如下所示:
declare @maomao365 varchar(1000) set @maomao365 ='sqlserver,blog,other'; ---将逗号替换为 'as n union all select ' set @maomao365 = REPLACE(@maomao365,',', ''' as n union all select ''' ); ---在字符串前面加上select 和单引号 ,后面也加上单引号 set @maomao365 =' select '''+ @maomao365 + ''''; print @maomao365 exec (@maomao365)