我在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;
但我不确定是否有办法将数组展平为一个由空格分隔的字符串,有可能吗?
我这样做的原因是,sphinx search还为tags字段编制索引,您可以在索引中获得根本不需要的id值
1条答案
按热度按时间kmpatx3s1#
你可以让斯芬克斯索引
["Travel", "Holidays"]
直接。根据
charset_table
规则,规则[
,"
以及,
只会被“忽略”(更严格地说,被视为分隔符并折叠掉)也不熟悉,但也许
JSON_UNQUOTE
能用吗?不知道它是否可以折叠数组。