我有一个非常基本的表,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 db
将最后一个值硬编码为MAX_VALUE
列的数据类型的最大值。
例如,如果它是INTEGER
:
insert into VALUES (MIN_VALUE,MAX_VALUE) values (44000.01,2147483647);
Oracle NUMBERS
可以是任意大的 - 它们倾向于使用而不是内部数字格式。
一种方法是使用NULL
。然而,这使查询变得复杂,并且需要在OR
/ ON
条款中使用WHERE
- 而OR
s会影响性能。
因此,大量是合理的解决方案。不知道域名,我只想把一堆9串在一起:
insert into VALUES (MIN_VALUE, MAX_VALUE)
values (44000.01, 999999999999); -- 999,999,999,999 seems big enough
这使用9s只是因为他们说“大值”比其他数字串更多。