我正在使用SQL Server2012。我的输入字符串是

'data1''data2''data3''data4''data5'


我希望输出为:

'data1','data2','data3','data4','data5'


我尝试了以下

DECLARE 
     @P_NAME VARCHAR(20),
     @V_NAME_1 VARCHAR(20);

SET @P_NAME = 'E056''E056''E056''E056''E056'

SET @V_NAME_1 = REPLACE(@P_NAME,'''',''',''')

SELECT @V_NAME_1


但它不会返回预期的输出。

请让我知道我想念的东西。

谢谢,
阿莫尔

最佳答案

您需要增加VARCHAR的长度,我在下面将其设置为50。也稍微调整您的SET语句。我更改了测试值;

DECLARE 
    @P_NAME VARCHAR(50), 
    @V_NAME_1 VARCHAR(50);

SET @P_NAME='E056''E057''E058''E059''E060'

SET @V_NAME_1=''''+REPLACE(@P_NAME,'''',''',''')+''''

SELECT @V_NAME_1

08-04 17:26