欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-11-06 19:42:23
转自:http://www.maomao365.com/?p=10739 摘要: 下文讲述在sqlserver 对逗号分隔的字符串转换为数据表的另类方法实现,如下所示: 实验环境:sql server 2008 R2 实现思路: 将组合字符串中的逗号替换为“ 'as n union all sele ......


摘要:
下文讲述在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对使用逗号分隔的字符串 转换为数据表的另类方法实现