Opposite of MySQL FIND_IN_SET

前端 未结 4 927
执笔经年
执笔经年 2020-12-10 02:12

How can I do the equivalent of:

!FIND_IN_SET(\'needle\', haystack)
相关标签:
4条回答
  • 2020-12-10 02:40
    SELECT id FROM table where !FIND_IN_SET(needle,haystack).......
    

    Its working for me...

    0 讨论(0)
  • 2020-12-10 02:52

    http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_find-in-set

    FIND_IN_SET('needle', haystack) = 0 should do the trick.

    0 讨论(0)
  • 2020-12-10 02:56

    It seems like it doesn't work if the field is NULL and therefore doesn't contain the value.

    A workaround:

    WHERE id NOT IN (SELECT id FROM table WHERE FIND_IN_SET(needle,haystack))
    

    Hope it'll help!

    0 讨论(0)
  • 2020-12-10 02:57

    FIND_IN_SET returns the index of the match if it is found, and returns 0 if it is not found. Since 0 is FALSE you can just use NOT FIND_IN_SET('needle', 'haystack')

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