Thanks for responding. I am getting this error "Invalid length parameter passed to the LEFT or SUBSTRING function" for below set of data:
Sample data for string: Number of Sales: <Area="XBA" Number="">0</a><XX>END
In this case the OrderNumbers are NULL's and the value is given as 0 for values field.
CREATE TABLE #temp ( ID int, Sales nvarchar (MAX) ); INSERT INTO #temp VALUES (1,'Number of Sales: <Area="ABC" Number = "1012,1013,1014,1015">4</a><ZZ>END'), (2,'Number of Sales: <Area="CBA" Number="1011,1012,1013,1014,1015,1016,1017,1018,1019,1020">10</a><YY>END'), (3,'Number of Sales: <Area="XBA" Number="">0</a><XX>END'); SELECT ID, --PATINDEX('%[0-9][0-9][0-9][0-9]%', Sales), CASE WHEN PATINDEX('%[0-9][0-9][0-9][0-9]%', Sales) > 0 THEN SUBSTRING(Sales, PATINDEX('%[0-9][0-9][0-9][0-9]%', Sales), PATINDEX('%">%', Sales) - PATINDEX('%[0-9][0-9][0-9][0-9]%', Sales)) ELSE NULL END AS [Order Number], SUBSTRING(Sales, PATINDEX('%">%', Sales) + 2, PATINDEX('%</a>%', Sales) - PATINDEX('%">%', Sales) - 2) AS [Values] FROM #temp; DROP TABLE #temp;
A Fan of SSIS, SSRS and SSAS