Here is one UGLY way: (I'm sure a slicker way will follow)This assumes there is always another parameter that follows userid. select substring(parameters ,charindex('UserID=', parameters)+7 ,charindex('&', parameters, charindex('UserID=', parameters)+7) - (charindex('UserID=', parameters)+7) )from ( select 'UserID=176&StoreID=210' as parameters ) aoutput:---------------------- 176
EDIT:Here is more UGLYNESS way that doesn't assume anythingselect substring(parameters ,idxStart ,case when idxEnd > 0 then idxEnd - idxStart else len(parameters) - idxStart + 1 end )from ( select charindex('UserID=', parameters)+7 as idxStart ,charindex('&', parameters, charindex('UserID=', parameters)+7) as idxEnd ,parameters from ( select 'UserID=176&StoreID=210' as parameters union all select 'UserID=176' union all select 'abcdef' union all select 'StoreID=210&UserID=176' ) a where charindex('UserID=', parameters) > 0 ) aoutput:---------------------- 176176176
Be One with the OptimizerTG