来自 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' 进行比较,您应该只会得到两行。
希望这对您有所帮助,
达格
请看下图
当我运行下面的查询
时,读取了三列returnSELECT 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' 进行比较,您应该只会得到两行。
希望这对您有所帮助, 达格