有没有办法通过mysql查询或函数/过程从JSON格式获取值?
是否有任何方法可以从存储在数据库字段中的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
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。