| 
                
Please start any new threads on our new 
    site at https://forums.sqlteam.com.  We've got lots of great SQL Server
    experts to answer whatever question you can come up with. 
    
        | 
                
                    | 
                            
                                | Author | Topic |  
                                    | tonydang2002Starting Member
 
 
                                        15 Posts | 
                                            
                                            |  Posted - 2014-03-25 : 16:02:21 
 |  
                                            | Hi,I have this SQL script:SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOALTER PROCEDURE [dbo].[Test]	 @String VARCHAR(MAX)ASBEGINSET NOCOUNT ON;	--Delete work table first	TRUNCATE TABLE Test	BEGIN TRY    DECLARE @str VARCHAR(max)     SET @str = @String	DECLARE @strXML XML 	SET @strXML = '<table><row><col><![CDATA[' + REPLACE(REPLACE(@str,'~',']]></col></row> <row><col><![CDATA['),'|',']]></col><col><![CDATA[') + ']]></col></row></table>'	DECLARE @XML XML 	SET @XML = CAST(@strXML AS varchar(max))		INSERT Test		SELECT 			line.col.value('col[1]', 'varchar(1000)') AS col1			,line.col.value('col[2]', 'varchar(1000)') AS col2			,line.col.value('col[3]', 'varchar(1000)') AS 		FROM @XML.nodes('/table/row') AS line(col) 	END TRY	BEGIN CATCH		PRINT 'MBR_RPT_SAP_WRK_T did not load due to error: ' + ERROR_MESSAGE();	END CATCHENDUsage:EXEC Test '1|Test1~2|Test2'It worked fine but can you help me modify the code for @strXML so it will work with below string:EXEC Test '"1"|"Test1"~"2"|"Test2"'Note: The string using text qualifier of ""Thanks,Tony |  |  
                                    | sqlsagaYak Posting Veteran
 
 
                                    93 Posts | 
                                        
                                          |  Posted - 2014-03-25 : 16:24:56 
 |  
                                          | use this instead of SET @strXML in your code and it will work..SET @strXML = '<table><row><col><![CDATA[' + REPLACE(REPLACE(REPLACE(@str,'~',']]></col></row> <row><col><![CDATA['),'|',']]></col><col><![CDATA['), '"', '') + ']]></col></row></table>'Visit www.sqlsaga.com for more t-sql snippets and BI related how to's. |  
                                          |  |  |  
                                    | tonydang2002Starting Member
 
 
                                    15 Posts | 
                                        
                                          |  Posted - 2014-03-25 : 16:39:57 
 |  
                                          | Thank you very much. That worked!!!... |  
                                          |  |  |  
                                |  |  |  |  |  |