Запрос Oracle для получения минимального или максимального значения типа данных - PullRequest
0 голосов
/ 07 июня 2019

Есть ли у Oracle функция или запрос, который будет возвращать минимальное или максимальное значение типа данных? Из документации я знаю, что минимальное значение поля даты - 1 января 4712 г. до н.э. Есть ли способ получить значение даты из оператора select?

Select ?something? from dual;

Ответы [ 2 ]

1 голос
/ 07 июня 2019

Если вы напишете небольшой кусочек кода, то ответ будет да . Не совсем один SELECT (если только вы не поместите все это в функцию).

SQL> set serveroutput on;
SQL> declare
  2    datum date := trunc(sysdate);
  3  begin
  4    while 1 <> 2 loop
  5      datum := datum - 1;
  6    end loop;
  7  exception
  8    when others then
  9      dbms_output.put_line('Last valid date = ' ||
 10        to_char(datum, 'dd.mm.yyyy bc'));
 11  end;
 12  /
Last valid date = 01.01.4712 BC

PL/SQL procedure successfully completed.

SQL>

Это было быстро (я имею в виду, что выполнение кода не занимает много времени). Для других типов данных это не так быстро (например, , что является наименьшим допустимым целым числом? ), по крайней мере, не с использованием того же принципа.

0 голосов
/ 10 июня 2019

Использовать первое значение в Джулиан календарь

select to_date(1, 'j') from dual

Отображаемые результаты зависят от настроек сервера и клиента, но это дата 4712-01-01 BC.

Демоверсия dbfiddle

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...