[
{
"id":76335210,
"name": "张三"
},
{
"id":76335211,
"name": "李四"
}
]
mysql 中存的字段是 json 类型。有什么方法可以查询出某个字段的拼接结果? 现在想到得到:张三 /李四。类似这样的结果。 目前通过 JSON_EXTRACT 函数得到的结果是一个 array:["张三", "李四"]
1
JonathanLee07734 2021-12-07 11:36:25 +08:00
```mysql
select trim(trailing ']' from trim(leading '[' from replace(replace(json_extract(@json, '$[*].name'), '"', ''), ', ', '/'))); ``` 这逻辑为啥不放在程序里= = |
2
onhao 2021-12-07 11:53:42 +08:00
|
3
moen 2021-12-07 16:22:28 +08:00
上面那个字符串操作简直太吓人了,正常人的写法应该是
SELECT GROUP_CONCAT(name SEPARATOR '/') FROM table, JSON_TABLE(json_column, '$[*]' COLUMNS (name VARCHAR(255) PATH '$.name')) AS names |
4
jyao 2021-12-08 09:49:11 +08:00
这种操作一般由代码去实现吧,使用 sql 来实现太浪费资源了,而且对数据库极其不友好,实际开发过程中及其不推荐
|
5
ourFEer 2021-12-08 09:59:04 +08:00
看头像进来的,你头像啥情况
|