Как вставить значение MAX Number в базу данных? - PullRequest
0 голосов
/ 25 февраля 2019

У меня есть очень простая таблица с MAX_VALUE, MIN_VALUE в качестве столбцов, и я хочу увидеть, находится ли число между ними.

Проблема в том, что последняя запись должна быть от MIN_VALUE до INFINITY (ИЛИ AБОЛЬШОЙ НОМЕР)

SELECT * FROM VALUES WHERE 10000000 BETWEEN MIN_VALUE AND MAX_VALUE;

Моя последняя вставка это.Как я могу поставить максимальное значение здесь?

insert into VALUES (MIN_VALUE,MAX_VALUE) values (44000.01, ???);

Я использую ORACLE db

Ответы [ 2 ]

0 голосов
/ 25 февраля 2019

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 просто потому, что они говорят "большое значение" больше, чем другие строки цифр.

0 голосов
/ 25 февраля 2019

Жесткий код последнего значения максимального значения для типа данных столбца MAX_VALUE.

Например, если это INTEGER:

insert into VALUES (MIN_VALUE,MAX_VALUE) values (44000.01,2147483647);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...