【发布时间】:2016-09-04 15:02:37
【问题描述】:
如何在 T-Sql 中将 , 替换为 ','
我将 'a,b,c' 作为参数传递,我试图用 ',' 替换 , 以便我可以得到输出为 'a','b','c'
我有一种解决方法,我们可以将它放在一个临时表中并从该表中读取,但我很想知道我们是否可以直接使用 Sql server 中的替换功能来实现它。
提前致谢
【问题讨论】:
标签: sql sql-server-2008 replace
如何在 T-Sql 中将 , 替换为 ','
我将 'a,b,c' 作为参数传递,我试图用 ',' 替换 , 以便我可以得到输出为 'a','b','c'
我有一种解决方法,我们可以将它放在一个临时表中并从该表中读取,但我很想知道我们是否可以直接使用 Sql server 中的替换功能来实现它。
提前致谢
【问题讨论】:
标签: sql sql-server-2008 replace
这样试试,
SELECT Column1 AS CommaSeparatedColumn
,'''' + replace(Column1, ',', ''',''') + '''' AS CommaWithinSingleQuotesSeparatedColumn
FROM (
VALUES ('a,b,c,d')
) T(Column1)
WHERE Column1 LIKE '%'
OR Column1 LIKE '%' + REPLACE(Column1, ',', '%')
【讨论】:
假设您使用的是参数
DECLARE @Param NVARCHAR(100)
您可以简单地执行以下操作:
SET @Param = (SELECT CONCAT('''', REPLACE(@Param ,',',''','''), '''') )
我还没有在 SQL 上测试过这个,但我认为这应该可以完成这项工作
【讨论】:
你可以使用
select ''''+replace(column1,',',''',''') +''''
from tablename
但是,可能有更有效的方法来做到这一点。
【讨论】: