获取字符串中字符/模式前后的所有内容

mqxuamgl  于 2021-06-24  发布在  Mysql
关注(0)|答案(1)|浏览(326)

我有一个列,我想从中提取字符串前后的所有内容。我有以下条目:
[{"model": "test.question", "pk": 123456789, "fields": {"status": "graded"}}] [{"model": "test.question", "pk": 123456789, "fields": {"status": "answered"}}] 我想提取“status”后面的子字符串:{“and before}]

yshpjwxd

yshpjwxd1#

sql的 LIKE 关键字将允许您使用 % 作为通配符。剩下的只是纯文本匹配。所以,你应该可以使用 WHERE columnName LIKE 'status":{"%}}] (替换 columnName 当然是你的专栏)。
但是,如果表中有结构化数据,则可能需要重新考虑您的选项。mysql有一个json数据类型(参见https://dev.mysql.com/doc/refman/5.7/en/json.html)这可以让您更直接、更正确地查询—例如,如果存在包含该字符串的状态,我上面描述的方法将中断 }}] .
如果需要子字符串本身,mysql有一个 substring 函数,在mysql中有详细介绍 SUBSTRING 功能,详见https://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_substring ,您将在 SELECT 子句,可能使用 LOCATE 获取要在子字符串中使用的索引。如果没有看到您当前的sql,很难描述如何将它们组合在一起。

相关问题