我有一个非常基本的表,其中MAX_VALUE,MIN_VALUE作为列,我想看看它们之间是否有数字。
问题在于最后一条记录应该是从MIN_VALUE到INFINITY(或大数字)
SELECT * FROM VALUES WHERE 10000000 BETWEEN MIN_VALUE AND MAX_VALUE;
我的最后一个插入内容是这个。如何在此处放入最大值?
insert into VALUES (MIN_VALUE,MAX_VALUE) values (44000.01, ???);
我正在使用ORACLE数据库
答案 0 :(得分:0)
将MAX_VALUE
列的数据类型的最后一个值硬编码为最大值。
例如,如果它是INTEGER
:
insert into VALUES (MIN_VALUE,MAX_VALUE) values (44000.01,2147483647);
答案 1 :(得分:0)
Oracle NUMBERS
可以任意大-它们倾向于使用而不是内部数字格式。
一种方法是使用NULL
。但是,这使查询变得复杂,并且需要在OR
/ ON
子句中使用WHERE
,并且OR
会影响性能。
因此,数量众多是一个合理的解决方案。不知道域,我只是将9串在一起:
insert into VALUES (MIN_VALUE, MAX_VALUE)
values (44000.01, 999999999999); -- 999,999,999,999 seems big enough
使用9只是因为它们说的是“大价值”,而不是其他数字字符串。