gpt4 book ai didi

php - 如何从 JSON_SEARCH 语法获取数组索引

转载 作者:行者123 更新时间:2023-11-29 15:16:59 25 4
gpt4 key购买 nike

我在 MySQL 中的 JSON:

{
"tanggaldibuat": "2020-01-08 05:05:34",
"kru": [
{
"username": "aisyah"
},
{
"username": "yustinaayu"
},
{
"username": "aminuddin"
},
{
"username": "citraaa"
}
]
}
<小时/>

当我应用这个时:

SELECT JSON_SEARCH(data,'one','aisyah') FROM `tbl_jadwal`

我的结果是:

$.kru[0].username

但是,我希望我可以获得“kru”的数组索引,而不需要“用户名”。像这样:

$.kru[0]

你能帮我吗?谢谢。

最佳答案

几个选项:

MySQL >= 5.7

SELECT
REPLACE(
JSON_SEARCH(@`json`, 'one', 'aisyah', NULL, '$.kru[*].username'),
'.username',
''
) `kru_index`;

MySQL >= 8.0

SELECT
JSON_QUOTE(
CONCAT('$.kru[', `der`.`kru_index` - 1, ']')
) `kru_index`
FROM
JSON_TABLE(
@`json`,
'$.kru[*]' COLUMNS (
`kru_index` FOR ORDINALITY,
`username` VARCHAR(100) PATH '$.username'
)
) `der`
WHERE
`der`.`username` = 'aisyah';

参见dbfiddle .

关于php - 如何从 JSON_SEARCH 语法获取数组索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59637232/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com