来自mysql json数据类型的数据搜索问题

时间:2017-01-05 07:12:20

标签: mysql json jsonschema

请参阅下图

enter image description here

当我运行以下查询时,有三列返回

SELECT measurment_list_t, measurment_list 
    FROM products where measurment_list->'$.weight.value' > '300';

按条件显示两行,但显示三行。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

大概是因为你在比较字符串,而不是整数。 由于字符串' 300'在所有' 56',' 356'之前排序。和' 756'您 看到三排。如果您将JSON数字存储为整数或 明确CAST measurment_list->' $ .weight.value'到UNSIGNED,然后与300而不是' 300进行比较,你应该只得到两行。

希望这有帮助, 达格