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

Posted Adeal(mssql_QQ群:314974645)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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对使用逗号分隔的字符串 转换为数据表的另类方法实现的主要内容,如果未能解决你的问题,请参考以下文章

mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享

关于sqlserver 的一个查询, 解决再加50分

关于sqlserver 的一个查询, 解决再加50分

mssql sqlserver 对不同群组对象进行聚合计算的方法分享

在第二个逗号 Oracle / PL SQL 后删除字符串

如何将多行生成为 1 列值或在 MSsql 中用逗号分隔的 sql 语句