我有下表
product_id product_name image_path misc
---------- -------------- ------------ ------
1 flex http://firstpl... {"course_level_id":19,"group_id":"40067"}
2 Android http://firstpl... {"course_level_id":20,"group_id":"40072"}
因此,如何从“杂项”列中检索product_name,image_path和仅“ group_id”值(如“ 40067”)。
我在下面的查询中尝试过,但在“杂项”列中返回1/0。
SELECT product_name,image_path,misc REGEXP '(.*\"group_id\":*)' as Misc FROM ref_products where product_id=1
有人知道该怎么做吗?
该REGEXP
函数仅返回0或1。您将不得不使用其他字符串函数。
试试这个:substr(misc,locate('group_id',misc)+11,5) as Misc
。但这假设group_id始终具有5个字符。
因此,这是更好的:substring_index(substr(misc,locate('group_id',misc)+char_length('group_id')+3),'"',1) as Misc
。
这里是一个小提琴,以显示它的工作原理:http :
//sqlfiddle.com/#!2/ea02e/15
编辑 您可以+3
通过在字符串中包含双引号和冒号来消除幻数:
substring_index(substr(misc,locate('"group_id":"',misc)+char_length('"group_id":"')),'"',1) as Misc
问题内容: 我在MySQL中有两个表。表人具有以下列: 该列可以包含null或字符串数组,例如(’apple’,’orange’,’banana’)或(’strawberry’)等。第二个表是Table Fruit,具有以下三列: 那么,我应该如何设计第一个表中的列,以便它可以容纳从第二个表中的列获取值的字符串数组?由于MySQL中没有数组数据类型,该怎么办? 问题答案: 正确的方法是在查询中
我在MySQL中有两个表。Table Person具有以下列: 水果列可以包含null或字符串数组,如('apple','orange','banana')或('草莓')等。第二个表是水果表,有以下三列: 那么,我应该如何设计第一个表中的水果列,以便它可以容纳从第二个表中的水果名称列获取值的字符串数组?既然MySQL中没有数组数据类型,我应该怎么做?
如果我在mysql数据库的列中有如下json 如何在mysql中选择同一对象名为'John'且checked=true的所有行。 json对象可能有更多的键,并且键可能没有特定的顺序。
我的MySQL数据库中有四个表。 订单 项目 Orders_Items 客户 订单表 订单ID客户ID 项目表 item_id item_name item_price item_quantity orders_items表 order_item_id order_id item_id 客户表 customer_id customer_name 我想显示一个表,该表列出订单表中的所有订单,并将所有
问题内容: 我尝试将DECIMAL与(2,2)一起使用,但不允许我使用。 我只想存储一个数字,例如7.50或10.50。我需要将两个数字都保留在小数点后,但是当我刷新数据库时,它将值重置为0.99。有什么建议么? 问题答案: 声明的第一位数字是 总数 。您可能想要使用。这允许小数点前最多两位数,小数点后两位数。 文档:https : //dev.mysql.com/doc/refman/5.7/e