与 MySQL FIND_IN_SET 相反

问题描述 投票:0回答:6

我怎样才能做相当于:

!FIND_IN_SET('needle', haystack)
mysql sql database set
6个回答
60
投票

FIND_IN_SET
如果找到则返回匹配的索引,如果未找到则返回 0。由于 0 为 FALSE,因此您可以使用
NOT FIND_IN_SET('needle', haystack)


8
投票

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

FIND_IN_SET('needle', haystack) = 0
应该可以解决问题。


6
投票
SELECT id FROM table where !FIND_IN_SET(needle,haystack).......

它对我有用...


4
投票

如果字段为 NULL,因此不包含该值,则似乎不起作用。

解决方法:

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

希望对你有帮助!


1
投票

等于0不起作用,必须使用null。

从表中选择 id,其中 FIND_IN_SET(needle,haystack) IS NULL


0
投票
  .andWhere('(NOT FIND_IN_SET(:userID, notification.deletedBy) OR notification.deletedBy IS NULL)',{userID:userId})
© www.soinside.com 2019 - 2024. All rights reserved.