在MySQL中,如何从两个已知子字符串之间的字符串中选择所有内容?

在MySQL中,如何从两个已知子字符串之间的字符串中选择所有内容?,mysql,sql,select,substring,Mysql,Sql,Select,Substring,我正在查看的表(应用程序)有一个长文本列(application_data),它将应用程序系统中的所有数据都放入其中。数据中间的块看起来像 ...,"FirstName":"[DATA]","MiddleName":"[DATA]","LastName":"[DATA]","SuffixName":"[DATA]",... 因为当我只需要他们的名字和姓氏时,该列中的整行数据非常庞大,很难处理,所以我想做一个select语句,基本上可以给出“FirstName”和“SuffixName”之间的所

我正在查看的表(应用程序)有一个长文本列(application_data),它将应用程序系统中的所有数据都放入其中。数据中间的块看起来像

...,"FirstName":"[DATA]","MiddleName":"[DATA]","LastName":"[DATA]","SuffixName":"[DATA]",...
因为当我只需要他们的名字和姓氏时,该列中的整行数据非常庞大,很难处理,所以我想做一个select语句,基本上可以给出“FirstName”和“SuffixName”之间的所有内容。类似于下面的内容,但实际代码除外。:)


我无法测试这一点,但它应该可以让您接近。

如果您可以使用具有本机JSON支持(例如Postgres)的数据库,这将是微不足道的,您可以直接获取值。子字符串操作会让你很快陷入麻烦。唯一需要的编辑是一个额外的关闭参数。谢谢
SELECT BETWEEN ('"FirstName"','"SuffixName"')
FROM applications
select substring(application_data, LOCATE('"FirstName"', application_data), (LOCATE('"SuffixName"', application_data)-LOCATE('"FirstName"', application_data)))
from applications