Check if string doesn't contain another string

前端 未结 4 1786
闹比i
闹比i 2021-02-02 05:11

In T-SQL, how would you check if a string doesn\'t contain another string?

I have an nvarchar which could be \"Oranges Apples\".

I would like to do

相关标签:
4条回答
  • 2021-02-02 05:54

    The answers you got assumed static text to compare against. If you want to compare against another column (say, you're joining two tables, and want to find ones where a column from one table is part of a column from another table), you can do this

    WHERE NOT (someColumn LIKE '%' || someOtherColumn || '%')
    
    0 讨论(0)
  • 2021-02-02 06:00
    WHERE NOT (someColumn LIKE '%Apples%')
    
    0 讨论(0)
  • 2021-02-02 06:01

    Use this as your WHERE condition

    WHERE CHARINDEX('Apples', column) = 0 
    
    0 讨论(0)
  • 2021-02-02 06:05

    Or alternatively, you could use this:

    WHERE CHARINDEX(N'Apples', someColumn) = 0
    

    Not sure which one performs better - you gotta test it! :-)

    Marc

    UPDATE: the performance seems to be pretty much on a par with the other solution (WHERE someColumn NOT LIKE '%Apples%') - so it's really just a question of your personal preference.

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