如何在 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”的主要内容,如果未能解决你的问题,请参考以下文章