我想在 SQL 表列中存储范围。例如 ,
金额大于 10000
金额大于 20000
金额 20000 - 100000
数量 100001 - 最大值
然后使用类似 ex 的查询过滤行。
请建议如何处理 2 列低 - 高或建议更可行的解决方案以及如何存储最大未知值
创建一个包含可为空low
和high
字段的表。
然后你可以选择这样的记录:
SELECT *
FROM table1 t1
WHERE <?> BETWEEN IFNULL(t1.low, <min_value>) AND IFNULL(t2.high, <max_value>)
可以在没有min
和max
值的情况下设置条件:
WHERE <?> BETWEEN t1.low AND t2.high AND t1.low + t2.hight IS NOT NULL
OR <?> >= t1.low AND t1.high IS NULL
OR <?> <= t1.high AND t1.low IS NULL
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句