How can I do the equivalent of:
!FIND_IN_SET('needle', haystack)
!FIND_IN_SET('needle', haystack)
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')
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.
SELECT id FROM table where !FIND_IN_SET(needle,haystack).......
Its working for me...
It seems to do not work if the field is NULL and therefore doesn't contain the value.
So I wrote the following workaround:
WHERE id NOT IN (SELECT id FROM table WHERE FIND_IN_SET(needle,haystack))
Hope it'll help!