• Tom Bakerman (1/12/2011)


    Wayne,

    Can you provide more explanation on this part of the query:

    TYPE).value('.','varchar(max)')

    Tom,

    Put an Ampersand (&), Less than (<) or Greater than (>) in your data, and see what happens with or without it:

    WITH CTE (Data) AS

    (

    SELECT 'Rolling Stones' UNION ALL

    SELECT 'Hall & Oates' UNION ALL

    SELECT 'One <> Two'

    )

    SELECT [WithType] = STUFF((

    SELECT ',' + Data

    FROM CTE

    FOR XML PATH(''),TYPE).value('.','varchar(max)'),1,1,''),

    [WithOutType] = STUFF((

    SELECT ',' + Data

    FROM CTE

    FOR XML PATH('')),1,1,'');

    Wayne
    Microsoft Certified Master: SQL Server 2008
    Author - SQL Server T-SQL Recipes


    If you can't explain to another person how the code that you're copying from the internet works, then DON'T USE IT on a production system! After all, you will be the one supporting it!
    Links:
    For better assistance in answering your questions
    Performance Problems
    Common date/time routines
    Understanding and Using APPLY Part 1 & Part 2