我正在查询的表中有一个字段,看起来类似于:
Name Phone Category_IDS Category_Labels
Sample 1111111111 ["1"] ["foo", "bar"]
我正在尝试使用 FIND_IN_SET 函数来查找包含逗号分隔列表中列出的值之一的所有行。像这样的东西什么都不返回:
SELECT * FROM sampletable WHERE FIND_IN_SET('1', category_ids) <> 0
如果我这样做,它确实有效:
SELECT * FROM factual_usplaces WHERE FIND_IN_SET('["1"]', category_ids) <> 0
但当然,这仅限于搜索 category_ids 或标签在逗号分隔列表中仅包含单个值的行。所以会找到 ["1"] 但不会找到 ["1", "2"]。
有没有办法在查询中即时从字符串中删除括号和引号?