我想在sql表列中存储范围。例如,金额大于10000金额大于20000金额20000-100000金额100001-最大值然后使用类似于ex的查询过滤行。其中金额=10010其中金额=20500其中金额=6235633plz建议如何处理2列低-高或建议一个更可行的解决方案,以及如何存储最大未知值
uklbhaso1#
创建可为null的表 low 以及 high 领域。然后您可以选择如下记录:
low
high
SELECT * FROM table1 t1 WHERE <?> BETWEEN IFNULL(t1.low, <min_value>) AND IFNULL(t2.high, <max_value>)
条件可以在没有 min 以及 max 价值观:
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
1条答案
按热度按时间uklbhaso1#
创建可为null的表
low
以及high
领域。然后您可以选择如下记录:
条件可以在没有
min
以及max
价值观: