Mariadb中的JSON函数

rjee0c15  于 2022-11-08  发布在  其他
关注(0)|答案(1)|浏览(186)

我有这个json

{"commandName":"App\\Jobs\\PublishClass","command":"O:21:\"App\\Jobs\\PublishClass\":8:{s:12:\"\u0000*\u0000variables\";a:3:{s:8:\"campusId\";i:1;s:7:\"classId\";i:7837;s:8:\"cohortId\";i:33;}s:6:\"\u0000*\u0000job\";N;s:10:\"connection\";s:8:\"database\";s:5:\"queue\";s:19:\"course_interactions\";s:15:\"chainConnection\";N;s:10:\"chainQueue\";N;s:5:\"delay\";N;s:7:\"chained\";a:0:{}}"}

我想使用Mariabd中的JSON方法来获取classId。
目前我使用JSON_VALUE,但只能获取与命令链接的值

SELECT JSON_VALUE(payload, '$.data.command') as t from jobs

我需要在不使用字符串搜索通配符的情况下获取值classId。

qni6mghb

qni6mghb1#

json方法的结果返回了无法进一步操作的字符串。必须使用其他SQL方法获取classId

set @mydata = 's:7';
SELECT GROUP_CONCAT(SUBSTRING(payload, POSITION(@mydata IN payload) + 18, 10), ';' ,1) SEPARATOR ';') FROM jobs;

相关问题