这个比mysql中的sinmple范围有点复杂,
我的字段数据是{"id":"15","value":"1200"}
,我可以通过
SELECT *
FROM `my_table`
WHERE `my_field`
REGEXP '{"id":"15","value":"1200"}'
但我需要的是值的范围
所以我需要寻找1000>之间的范围。 2000和json值为1200的字段应匹配。 我不能用php重做输出,因为它会占用资源,所以如果有可能在Mysql中没有我处理数据通过php返回
任何帮助表示赞赏!
解决任何人的问题!
LC 给了我们非常好的解决方案
REGEXP '{"id":"15","value":"(1[0-9][0-9][0-9]|2000)"}'
答案 0 :(得分:5)
我的下意识反应是说“停止在一列中存储多个值”,但是如果你有这样做并且你有正则表达能力,那么使用它(未经测试) ):
SELECT *
FROM `my_table`
WHERE `my_field` REGEXP '{"id":"15","value":"(1[0-9][0-9][0-9]|2000)"}'
请记住,无法使用索引优化此查询,因此您无法检查my_table
中的每一行。