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

Data search issue from mysql json data type

请看下图

当我运行下面的查询

时,读取了三列return
SELECT measurment_list_t, measurment_list 
    FROM products where measurment_list->'$.weight.value' > '300';

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

为什么会这样?

大概是因为您比较的是字符串,而不是整数。 由于字符串“300”排在所有“56”、“356”和“756”之前,因此您 见三行。如果您将 JSON 数字存储为整数,或者 显式地将 measurment_list->'$.weight.value' 转换为 UNSIGNED,然后与 300 而不是 '300' 进行比较,您应该只会得到两行。

希望这对您有所帮助, 达格