【问题标题】:How can we replace , with ',' in T-Sql我们如何在 T-Sql 中将 , 替换为 ','
【发布时间】:2016-09-04 15:02:37
【问题描述】:

如何在 T-Sql 中将 , 替换为 ','

我将 'a,b,c' 作为参数传递,我试图用 ',' 替换 , 以便我可以得到输出为 'a','b','c'

我有一种解决方法,我们可以将它放在一个临时表中并从该表中读取,但我很想知道我们是否可以直接使用 Sql server 中的替换功能来实现它。

提前致谢

【问题讨论】:

    标签: sql sql-server-2008 replace


    【解决方案1】:

    这样试试,

    SELECT Column1 AS CommaSeparatedColumn
        ,'''' + replace(Column1, ',', ''',''') + '''' AS CommaWithinSingleQuotesSeparatedColumn
    FROM (
        VALUES ('a,b,c,d')
        ) T(Column1)
    WHERE Column1 LIKE '%'
        OR Column1 LIKE '%' + REPLACE(Column1, ',', '%')
    

    【讨论】:

      【解决方案2】:

      假设您使用的是参数

      DECLARE @Param NVARCHAR(100)
      

      您可以简单地执行以下操作:

      SET @Param = (SELECT CONCAT('''', REPLACE(@Param ,',',''','''), '''') )
      

      我还没有在 SQL 上测试过这个,但我认为这应该可以完成这项工作

      【讨论】:

        【解决方案3】:

        你可以使用

        select ''''+replace(column1,',',''',''') +''''
        from tablename
        

        但是,可能有更有效的方法来做到这一点。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-06-12
          • 1970-01-01
          • 2011-02-24
          • 2011-05-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-05-24
          相关资源
          最近更新 更多