以下是例子:DECLARE @Test Table(ID VARCHAR(10),NAME VARCHAR(20))
DECLARE @StrContent VARCHAR(1000)
SELECT @StrContent = ''
INSERT INTO @Test
SELECT '1','A'
UNION ALL
SELECT '2','B'
UNION ALL
SELECT '3','C'SELECT @StrContent = @StrContent+','+ID  FROM @Test
ORDER BY ID SELECT RIGHT(@StrContent,LEN(@StrContent) -1)结果是1,2,3我如何能让结果变成 ‘1’,‘2’,‘3’ 这种格式的呢 ? 求解中!

解决方案 »

  1.   

    DECLARE @Test Table(ID VARCHAR(10),NAME VARCHAR(20))
    DECLARE @StrContent VARCHAR(1000)
    SELECT @StrContent = ''
    INSERT INTO @Test
    SELECT '''1''','A'
    UNION ALL
    SELECT '''2''','B'
    UNION ALL
    SELECT '''3''','C'SELECT @StrContent = @StrContent+','+ID FROM @Test
    ORDER BY ID  SELECT RIGHT(@StrContent,LEN(@StrContent) -1)
    /*----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
    '1','2','3'(1 行受影响)*/
      

  2.   

    DECLARE @Test Table(ID VARCHAR(10),NAME VARCHAR(20))
    DECLARE @StrContent VARCHAR(1000)
    SELECT @StrContent = ''
    INSERT INTO @Test
    SELECT '1','A'
    UNION ALL
    SELECT '2','B'
    UNION ALL
    SELECT '3','C'SELECT @StrContent = @StrContent+''','''+ID FROM @Test
    ORDER BY ID  SELECT RIGHT(@StrContent,LEN(@StrContent) -2)+''''
    /*------------
    '1','2','3'(1 行受影响)
      

  3.   

    DECLARE @Test Table(ID VARCHAR(10),NAME VARCHAR(20))
    DECLARE @StrContent VARCHAR(1000)
    SELECT @StrContent = ''
    INSERT INTO @Test
    SELECT '1','A'
    UNION ALL
    SELECT '2','B'
    UNION ALL
    SELECT '3','C'SELECT @StrContent = @StrContent+','+''''+ID+'''' FROM @Test
    ORDER BY ID  --print @strcontentprint RIGHT(@StrContent,LEN(@StrContent)-1)