我有一个表,其中有一个名为tag的字段,其类型为varchar。此列包含json_encoded数据。
["4","5","6","7"]
记录可以有多个标签。我不想使用我知道更有效的数据透视表。我想暂时保持这种状态。
我想过滤所有具有特定标记的记录。只是一个标签......我怎样才能为它创建一个查询?
答案 0 :(得分:1)
SELECT * FROM WHERE json_encoded_list_of_tags LIKE'%TAG%'
假设您只需要一个标记,%'是通配符(您可能知道?),这将匹配列中包含TAG的任何行。
您还应该优化此查询以包含转义引号,以避免与其他标记的子字符串匹配