Oracle查询以获取数据类型的最小值或最大值

时间:2019-06-07 17:48:23

标签: sql oracle

Oracle是否具有将返回数据类型的最小值或最大值的函数或查询?从文档中,我知道日期字段的最小值是公元前4712年1月1日。反正是从select语句中获取该日期值吗?

df['col_3'] = df['col_2'].map(lambda v: v.split(' ')[1])

2 个答案:

答案 0 :(得分:1)

如果您编写一些代码,那么答案是。不过,并非完全是一个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>

那很快(我的意思是,代码不需要时间去执行)。对于其他数据类型,它不是那么快(例如这是最小的有效整数吗?),至少不是通过使用相同的原理。

答案 1 :(得分:0)

julian 日历

中使用第一个值
select to_date(1, 'j') from dual

显示的结果取决于服务器和客户端的设置,但这是日期4712-01-01 BC

dbfiddle demo