Mysql sql选择列中两个字符串之间的字符串

Mysql sql选择列中两个字符串之间的字符串,mysql,sql,search,opencart,Mysql,Sql,Search,Opencart,例如,我有一张桌子——桌子。表中是列名-自定义字段。在本专栏中,我有如下数据: {"6":"Name of company","1":"11111111","2":"564974195","4":"","5":"","3":""} SELECT SUBSTRING(CUSTOME_FIELDS, CHARINDEX('"6":"', CUSTOME_FIELDS), CHARINDEX('","1"',CUSTOME_FIELDS)) FROM TABLE 我需要记下公司的名字,并把它交给新

例如,我有一张桌子——桌子。表中是列名-自定义字段。在本专栏中,我有如下数据:

{"6":"Name of company","1":"11111111","2":"564974195","4":"","5":"","3":""}
SELECT SUBSTRING(CUSTOME_FIELDS, CHARINDEX('"6":"', CUSTOME_FIELDS), CHARINDEX('","1"',CUSTOME_FIELDS)) FROM TABLE
我需要记下公司的名字,并把它交给新的专栏——新的专栏

我该怎么做?我试过这样的方法:

{"6":"Name of company","1":"11111111","2":"564974195","4":"","5":"","3":""}
SELECT SUBSTRING(CUSTOME_FIELDS, CHARINDEX('"6":"', CUSTOME_FIELDS), CHARINDEX('","1"',CUSTOME_FIELDS)) FROM TABLE

但它不起作用。

取决于实际数据的外观:

若你们的数据都和上面的例子一样,那个么你们可以从{6:和下一个,:


取决于实际数据的外观:

若你们的数据都和上面的例子一样,那个么你们可以从{6:和下一个,:


如果您的MySQL版本是5.7或更高版本,并且由于数据似乎是JSON格式,您可以试试JSON_extract:


如果您的MySQL版本是5.7或更高版本,并且由于数据似乎是JSON格式,您可以试试JSON_extract:


如果在数据库中存储JSON数据,请使用MySQL 5.7或更高版本,并使用。这意味着您可以轻松提取数据:

SELECT JSON_EXTRACT(json_data, '$."6"') FROM mytable;

如果在数据库中存储JSON数据,请使用MySQL 5.7或更高版本,并使用。这意味着您可以轻松提取数据:

SELECT JSON_EXTRACT(json_data, '$."6"') FROM mytable;

发布问题时请避免紧急乞讨,谢谢。这对除您之外的任何人都不紧急。这是JSON数据。您真的,真的想在上面使用JSON解析器。发布问题时请避免紧急乞讨,谢谢。除了您之外,对任何人都不紧急。这是JSON数据。您真的,真的想在上面使用JSON解析器。Unf有趣的是,我有MySQL 5.5.53。您还有其他建议吗?为了简单起见,您可以1将MySQL升级到5.7或更高版本,2在PHP变量中获取整个列并使用json_解码。如果这两种方法听起来都不可行,那么您将剩下编写查询的唯一选项,如回答这里。不幸的是,我有MySQL 5.5.53。你还有其他建议可以解决吗?为了简单起见,你可以1将MySQL升级到5.7或更高版本,2在PHP变量中获取整个列并使用json_解码。如果这两种方法听起来都不可行,那么你就只能选择编写一个查询,如中所述这里有一个答案。它给了我一个错误:1054-“%s”字段列表中的未知列“CUSTOME\u FIELD”,但该列在此处。数据应该介于以下之间:start-“6:“end-”,1“有什么建议吗?@user3709897,您必须从\u表添加到给定的查询中以避免未知列错误。它给了我一个错误:1054-未知列“CUST”“%s”字段列表中的“OME_”字段,但该列位于上方。数据应该介于以下之间:start-“6:“end-”,1“有什么建议吗?@user3709897,您必须将_表中的内容添加到给定的查询中,以避免出现未知的列错误。这很酷。我不知道MySQL 5.7中的json支持,这很酷。我不知道MySQL 5.7中的json支持SQL 5.7