SQL中的Replace()无效“

时间:2016-02-08 03:38:09

标签: sql tsql replace sql-server-2012

我在数据库中收到一个JSON字符串,我正在尝试将其转换为逗号分隔列表。这是我目前的状态:

enter image description here

我的SQL目前看起来像:

BEGIN TRANSACTION

SELECT  Id, 
        PriorityGroups ,
        REPLACE(
            REPLACE(
                REPLACE(PriorityGroups, '["', ''), 
                    '"]', ''), 
                    '"."', ', ') AS 'Updated to comma delimited'
FROM    dbo.CA
WHERE   Id= 51

ROLLBACK TRANSACTION

当我试图替换

时出于任何原因
  

“”

使用逗号和空格,它不会对输出进行任何更改。我已经尝试转义双引号,但我被告知它的语法无效,我不太确定还有什么要尝试的!

1 个答案:

答案 0 :(得分:1)

它不是要在字符串中替换"."。要替换的字符是","

SELECT  Id, 
        PriorityGroups ,
        REPLACE(
            REPLACE(
                REPLACE(PriorityGroups, '["', ''), 
                    '"]', ''), 
                    '","', ', ') AS 'Updated to comma delimited'
FROM    dbo.CA
WHERE   Id= 51

有效的JSON字符串以逗号分隔,不以句点.字符分隔