我正在尝试运行以下 MySQL 命令:
SELECT ID, intervention_post_title, linked_article FROM wp_cpt_combined WHERE FIND_IN_SET (72, habitat_type)
在我的数据库中,habitat_type 列(因为这是一个多选字段)将值存储为“
id habitat_type
1 [72, 74]
2 [70]
3 [71]
上面的 sql 命令没有返回任何行——我错过了什么?我需要能够使用 find_in_set (72, habitat_type) 或 find_in_set (74, habitat_type) 等拉回第 1 行。我是否必须进行替换以删除方括号?
如有任何帮助,我们将不胜感激。
D.
最佳答案
- 您可以使用
REPLACE()
函数用空字符串替换出现的[
和]
。
尝试以下操作:
SELECT
ID,
intervention_post_title,
linked_article
FROM wp_cpt_combined
WHERE FIND_IN_SET ('72', REPLACE(REPLACE(habitat_type, '[', ''), ']', ''))
关于MySQL,使用 find_in_set 返回的行没有按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52816059/