如何在 SQL Server 存储过程中将“101,102,103”转为“101”、“102”、“103”
Posted
技术标签:
【中文标题】如何在 SQL Server 存储过程中将“101,102,103”转为“101”、“102”、“103”【英文标题】:How to do '101,102,103' to '101','102','103' in SQL Server stored procedure 【发布时间】:2016-07-29 11:31:28 【问题描述】:在存储过程中的字符串中,我存储一些数据,就像
string pkid = '101,102,103'
我想把它转换成
pkid = '101', '102', '103'
我该怎么做?
【问题讨论】:
将字符串复制到excel,使用数据文本到列,然后转置,然后创建所需的输出并将粘贴复制回sp。 这不是 SQL 问题(两行代码都不是有效的 SQL)。请正确标记。 【参考方案1】:以下代码会将所有逗号替换为 ',' 并在开头和结尾添加一个 '。
declare @pkid varchar(100);
set @pkid = '101,102,103';
set @pkid = ''''+replace (@pkid,',',''',''')+'''';
select @pkid as pkid
输出
pkid
'101','102','103'
【讨论】:
请编辑更多信息。不建议使用纯代码和“试试这个”的答案,因为它们不包含可搜索的内容,也没有解释为什么有人应该“试试这个”。以上是关于如何在 SQL Server 存储过程中将“101,102,103”转为“101”、“102”、“103”的主要内容,如果未能解决你的问题,请参考以下文章
在 Sql Server 中将 xml 文档作为存储过程的参数传递是不是安全?
如何在 sql server 2008r2 中将行名更改为列名
如何在 sql server 2008 中将日期与 GETDATE() 进行比较
如何从 SQL Server 2014 中的 Select 查询中将数据分配给用户定义的表类型