Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法通过mysql查询或函数/过程从JSON格式获取值?_Mysql_Json - Fatal编程技术网

有没有办法通过mysql查询或函数/过程从JSON格式获取值?

有没有办法通过mysql查询或函数/过程从JSON格式获取值?,mysql,json,Mysql,Json,是否有任何方法可以从存储在数据库字段中的JSON格式中获取值 我试过像下面这样做,但有时它返回错误的值,而且它似乎无法正确地获取记录。 事实上,我正在尝试增加所有尺寸 SELECT substring_index(substr(size,locate('"xs":"',size)+char_length('"xs":"')),'"',1)+ substring_index(substr(size,locate('"s":"',size)+char_length('"s

是否有任何方法可以从存储在数据库字段中的JSON格式中获取值

我试过像下面这样做,但有时它返回错误的值,而且它似乎无法正确地获取记录。 事实上,我正在尝试增加所有尺寸

    SELECT 
    substring_index(substr(size,locate('"xs":"',size)+char_length('"xs":"')),'"',1)+
     substring_index(substr(size,locate('"s":"',size)+char_length('"s":"')),'"',1)+ 
    substring_index(substr(size,locate('"m":"',size)+char_length('"m":"')),'"',1)+ 
    substring_index(substr(size,locate('"l":"',size)+char_length('"l":"')),'"',1)+ 
    substring_index(substr(size,locate('"xl":"',size)+char_length('"xl":"')),'"',1)+ 
    substring_index(substr(size,locate('"xxl":"',size)+char_length('"xxl":"')),'"',1)+ substring_index(substr(size,locate('"xxxl":"',size)+char_length('"xxxl":"')),'"',1)+ 
    substring_index(substr(size,locate('"xs\/s":"',size)+char_length('"xs\/s":"')),'"',1)+ substring_index(substr(size,locate('"m\\/l":"',size)+char_length('"m\\/l":"')),'"',1)+ 
substring_index(substr(size,locate('"xl\\\/xxl":"',size)+char_length('"xl\\\/xxl":"')),'"',1) 

    as qty FROM `table_name` 
我还引用了下面的StackOverflow问题,从字符串中捕获数值:


它返回正确的值,我可以对返回值进行加法运算,但对于2位数字,它对我不好(例如,如果它返回15,那么我的情况下它是6)

我认为您必须修复您的查询。。sql不用于返回json。但也可以编写java或c#工具,使用hibernate或entityframework并获取所有数据集的对象。然后可以将所有数据集正确导出为xml或json:)这不是很难,而且有很多教程:)@MatthiasBurger:谢谢你的回答..你能在上面的链接中建议一下标题“如何在MySQL查询中从字符串中提取数值?”下面有一个类似SET ret=CONCAT(ret,c)的操作;我试着得到这样的加法:ret=ret+CONCAT(ret,c);你能帮我吗有没有办法数一数两位数的“否”,因为它能代表一位数的“否”。我想你必须修正你的疑问。。sql不用于返回json。但也可以编写java或c#工具,使用hibernate或entityframework并获取所有数据集的对象。然后可以将所有数据集正确导出为xml或json:)这不是很难,而且有很多教程:)@MatthiasBurger:谢谢你的回答..你能在上面的链接中建议一下标题“如何在MySQL查询中从字符串中提取数值?”下面有一个类似SET ret=CONCAT(ret,c)的操作;我试着得到这样的加法:ret=ret+CONCAT(ret,c);你能帮我吗..有没有办法数一数两位数的no,因为它可以计算1位数的no。