在 SQL 数据库中存储一个范围/多个范围(上限可以未知)

罗希特瓦瓦尔

我想在 SQL 表列中存储范围。例如 ,

金额大于 10000

金额大于 20000

金额 20000 - 100000

数量 100001 - 最大值

然后使用类似 ex 的查询过滤行。

  1. 其中金额 = 10010
  2. 其中金额 = 20500
  3. 其中金额 = 6235633

请建议如何处理 2 列低 - 高或建议更可行的解决方案以及如何存储最大未知值

俄罗斯艺术

创建一个包含可为空lowhigh字段的表

然后你可以选择这样的记录:

SELECT * 
FROM table1 t1
WHERE <?> BETWEEN IFNULL(t1.low, <min_value>) AND IFNULL(t2.high, <max_value>)

可以在没有minmax的情况下设置条件

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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Ansible:在rds中的多个数据库中执行一个sql脚本

在React Native中可以有一个SQL数据库吗?

Pervasive SQL:客户端可以在一个数据库请求中发送多个 SQL 语句吗?

VBA&SQL-从数据库中删除日期范围

从Azure SQL提取数据,处理并存储在Azure上的另一个数据库中

从cosmos db查询特定时间范围的数据,然后通过azure数据工厂将其存储在sql数据库中

将来自多个MS SQL Server数据库的数据合并为一个

Teradata SQL中的MODE-从范围中排除一个值,并使用多个表

(C#WPF SQL Server)是否可以在一个函数中多次连接到数据库?

SQL动态地将数据从数据库存储到另一个数据库

如何在同一SQL数据库中存储多个应用程序的用户?

如何使用Snowsql将一个SQL脚本用于多个数据库/仓库?

我们可以在Azure上的T-SQL过程中创建数据库范围的凭据吗

我可以创建一个循环来更新SQL数据库吗?

小数点的最后一个 0 可以在 SQL 的数据库中看到吗?

SQL Server存储过程从另一个数据库表更新一个数据库表

从另一个Azure SQL数据库还原Azure SQL数据库

如何将SQL Server 2008表从一个数据库导入到另一个数据库中的多个表中?

列未知时在SQL数据库中存储数据的正确方法

如何基于另一个数据库中满足的参数创建SQL数据库

一个范围之间存在Sql检查范围

在sql中的列中创建一个范围为范围的表

从SQL数据库中向Scala中的val获取一个值

使用sql从数据库中的每个组中获取一个随机记录(行)

如何使用SQL在一个数据库中搜索与另一个数据库中的值匹配的值

如何在SQL数据库中存储未知长度的列表

如何使用一个SQL查询从数据库中删除所有表?

为什么我的SQL查询在一个数据库中这么慢?

SQL Server向数据库中的每个表添加一个uniqueidentifier