Check if a string contains a substring in SQL Server 2005, using a stored procedure

前端 未结 2 1103
离开以前
离开以前 2020-11-30 00:50

I\'ve a string, @mainString = \'CATCH ME IF YOU CAN\'. I want to check whether the word ME is inside @mainString.

How do I che

相关标签:
2条回答
  • 2020-11-30 01:24

    You can just use wildcards in the predicate (after IF, WHERE or ON):

    @mainstring LIKE '%' + @substring + '%'
    

    or in this specific case

    ' ' + @mainstring + ' ' LIKE '% ME[., ]%'
    

    (Put the spaces in the quoted string if you're looking for the whole word, or leave them out if ME can be part of a bigger word).

    0 讨论(0)
  • 2020-11-30 01:25

    CHARINDEX() searches for a substring within a larger string, and returns the position of the match, or 0 if no match is found

    if CHARINDEX('ME',@mainString) > 0
    begin
        --do something
    end
    

    Edit or from daniels answer, if you're wanting to find a word (and not subcomponents of words), your CHARINDEX call would look like:

    CHARINDEX(' ME ',' ' + REPLACE(REPLACE(@mainString,',',' '),'.',' ') + ' ')
    

    (Add more recursive REPLACE() calls for any other punctuation that may occur

    0 讨论(0)
提交回复
热议问题