我在mysql中有一个JSON字段,用于像这样的标签
[
{"id": 138001, "tag": "Travel"},
{"id": 138002, "tag": "Holidays"}
]
我想将其作为“旅行假期”
我可以使用json数组格式获取值:
["Travel", "Holidays"]
使用当前语句
SELECT JSON_EXTRACT(post_tags, '$[*].tag') AS tags FROM posts WHERE post_id = 646745;
但是我不确定是否有办法将数组展平为由空格分隔的单个字符串,有可能吗?
我这样做的原因是,狮身人面像搜索也为标签字段建立索引,并且您可以在索引中获得根本不需要的id值
答案 0 :(得分:1)
好吧,您可以直接让狮身人面像索引["Travel", "Holidays"]
。
根据charset_table
规则,[
,"
和,
将被“忽略”(从技术上讲,它们被视为分隔符并折叠掉了)
也不太熟悉,但是也许JSON_UNQUOTE
可以工作吗?不知道它是否可以折叠数组。