Parse multiple filters in SQL
        Posted  
        
            by Jeff Meatball Yang
        on Stack Overflow
        
        See other posts from Stack Overflow
        
            or by Jeff Meatball Yang
        
        
        
        Published on 2010-05-03T17:11:35Z
        Indexed on 
            2010/05/03
            17:28 UTC
        
        
        Read the original article
        Hit count: 304
        
sql-server
|string-manipulation
I have a problem parsing a stored procedure parameter in the form:
declare @S varchar(100)
set @S = '4=2,24=1534'
Here's the query:
    select 
        cast(idx as varchar(100)) 'idx'
    ,   value 
    ,   SUBSTRING(value, 1, charindex(value, '=')+1)  'first'
    ,   SUBSTRING(value, charindex(value, '=')+1, LEN(value)-charindex(value, '=')-1) 'second'
    from Common.SplitToTable(@S, ',') -- returns (idx int, value varchar(max))
    where len(value) > 0
But here is the result I get:
idx    value       first    second
0      4=2         4        4=
1      24=1534     2        24=153
Here's what I expected:
idx    value       first    second
0      4=2         4        2
1      24=1534     2        1534
Help?
© Stack Overflow or respective owner