与MySQL FIND_IN_SET相反

phi*_*bar 15 mysql sql database set

我该怎么做相同的:

!FIND_IN_SET('needle', haystack)
Run Code Online (Sandbox Code Playgroud)

Pau*_*aul 43

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

  • 我同意你的意见,但即使是他的解决方案!而不是诀窍.所以我不明白他的问题是什么:) (3认同)
  • 对于可能遇到此问题/解决方案的任何人,请注意,只有当您的针和干草堆不包含“NULL”值时,使用“NOT FIND_IN_SET(...)”才能正确工作。在这种情况下,从逻辑上读取查询听起来是正确的,但跟踪返回值会发现它不起作用,因为如果任一参数值包含“NULL”值,则该函数将返回“NULL”。正确的方法是“FIND_IN_SET(...) IS NULL”来检查“NULL”,但是如果你的干草堆可以包含“NULL”和空字符串“''”;然后只需执行“NOT FIND_IN_SET(needle, IFNULL(haystack, '')”即可。 (2认同)

小智 6

SELECT id FROM table where !FIND_IN_SET(needle,haystack).......
Run Code Online (Sandbox Code Playgroud)

它对我有用......