mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现

转自: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)

 

mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现_第1张图片

你可能感兴趣的:(mssql sqlserver sql对使用逗号分隔的字符串 转换为数据表的另类方法实现)