• Sorry for necro'ing an old thread, but I'm trying to do something similar. The difference is that I'm looking for multiple strings (matching a pattern) of varying lengths. I've tried to modify the "dog" query, but am falling short of accomplishing what I want to accomplish. Can anyone help shed light?

    FYI, I'm trying to search through stored procs and other objects for instances of linked servers, which follow a standard of "LS-%".

    select object_name(s.id) Object, substring(s.text, n, charindex(' ', text, n) - n) as Target

    from syscomments s

    cross join

    tally t

    where t.n < (select max(len(text)) from syscomments)

    and lower(substring(s.text, case when t.N > len(s.text) then len(s.text) else t.n end, case when t.N > len(s.text) then 5 else len(s.text) - n end)) like 'ls-__'

    order by object, target