Mysql从字符串中选择特定的json值

时间:2014-11-15 22:34:31

标签: mysql json

您好,我正在尝试从Mysql查询中的json字符串中选择一个值。 我的桌子看起来像这样。 我想在id = x

的同时选择标签id:2的标题和值
id | title    | tags 
------------------------------------------------------
1  | title 1  | [{"id":"1","value":"value of id 1"},{"id":"2","value":"value of id 2"}]
2  | title 2  | [{"id":"1","value":"value of id 1"},{"id":"2","value":"value of id 2"}]
3  | title 3  | [{"id":"1","value":"value of id 1"},{"id":"2","value":"value of id 2"}]

到目前为止,我的查询如下:

SELECT title, tags FROM table WHERE id=2;

但正如您所看到的,这会返回整个标记字符串。 是否可以使用" id"选择标记的值:" 2"

1 个答案:

答案 0 :(得分:0)

正如评论中所指出的那样,它可能会产生很多麻烦,但如果您仍然坚持为此提供解决方案,那么您可以考虑使用INSTRLOCATE来获取字符串的索引" ID":" X" (其中X是您要查找的值,后跟SUBSTRING从您之前获得的位置提取字符串,直到遇到}的位置。