【发布时间】:2014-06-26 22:06:07
【问题描述】:
大家好,我在数据库中有一个字段作为 json 字段
table some_table
field| {"number":34,"name":"john"}
field| {"number":60,"name":"mary"}
field| {"number":44,"name":"mark"}
我想查询并选择数字 > 某个值的数据
select from some_table where field regexp (get_number) > 40
这可能吗?
我发现这个例子做一个正则表达式选择,但只匹配数据
SELECT id FROM table_name WHERE field_name REGEXP '"key_name":"([^"]*)key_word([^"]*)"';
但我想在 json 中进行选择,其中一些数字大于...
感谢大家未来的帮助。
【问题讨论】:
-
Regex 不是检查数字范围的好选择。
-
规范化数据库,停止这样存储数据
-
你真的是在努力工作。您应该修改您的数据库设计,以便您可以查询每条数据。
-
是的。 json的美妙之处在于可以解码
-
嗨,谢谢。我在一个地方工作,这是他们为这个特定领域保存数据的方式。我不能直接对数据库进行更改。这就是他们在这个领域工作的方式,他们有很多记录。我知道这种方式根本不推荐。你还有什么想法吗???