我有一长串六位数字(例如 123456)
在我的 postgresql 数据库中,我有一个包含两列 start_value 和 end_value 的表。该表具有起始值和结束值的行,长度为 9 位,代表一个数字范围,即 start_value 可能是 123450000,end_value 可能是 123459999。
我需要将六位数字中的每一个与它在其范围内的 DB 表中的行进行匹配。
对于我列表中的许多数字,我可以简单地运行以下命令
SELECT * FROM table WHERE start_value=(number + 000)
但是,这不包括落在某个范围内但不匹配此模式的数字。
我一直在尝试以下陈述:
SELECT * FROM table WHERE start_value > (number + 000) AND end_value < (number + 999)
但这不起作用,因为某些行覆盖的范围比 xxxxx0000 到 xxxxx9999 更大,因此上面的语句可能返回 20 行或没有。
任何积分都将受到欢迎!
编辑:列的数据类型是数字(25)