mysql取json数组中的数据
·
取数的逻辑主要是:如果是数组,那就先算好取第几个数,取数据时记得加上下标:
`JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].details[0]'))`
如果不是数组,取key即可
JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].sp_status'))
1、取json数组中倒数一个数据
JSON_EXTRACT(sp_record, CONCAT('$[', JSON_LENGTH(sp_record) - 1, ']')) data
2.取多个嵌套数据
JSON_UNQUOTE(JSON_EXTRACT(apply_data, '$[0].contents[2].value[0].text')) leaver
select sp_no,
sp_name,
applyer,
apply_time,
JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].details[0].approver.userid')) approver,
JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].details[0].sptime')) approver_time,
leaver,
JSON_UNQUOTE(JSON_EXTRACT(data, '$[0].sp_status')) sp_status
from (
SELECT sp_no,
sp_name,
apply_time,
JSON_UNQUOTE(JSON_EXTRACT(applyer, '$.userid')) AS applyer,
JSON_EXTRACT(sp_record, CONCAT('$[', JSON_LENGTH(sp_record) - 1, ']')) data,
JSON_UNQUOTE(JSON_EXTRACT(apply_data, '$[0].contents[2].value[0].text')) leaver,
sp_record
FROM sp_no_info
WHERE sp_name LIKE '%離職帳號處理申請%'
) t1;
AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。
更多推荐


所有评论(0)