2024-07-03 05:52:21
代码如下:
d2 := to_date('20190528','yyyymmdd');
d3 := to_date('20170101','yyyymmdd');
d4 := sysdate;
if d1>d3 then --格式不同进行比较
dbms_output.put_line('d1>d3');
end if;
if d2>d3 then --格式相同比较
dbms_output.put_line('d2>d3');
end if;
if d1>d4 then --格式不同进行比较
dbms_output.put_line('d1>d4');
end if;
dbms_output.put_line('d4是:'||d4);
end;
扩展资料
oracle sql日期比较
oracle sql日期比较:
在今天之前:
select * from up_date where update < to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
select * from up_date where update <= to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
在今天只后:
select * from up_date where update > to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
select * from up_date where update >= to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
精确时间:
select * from up_date where update = to_date('2007-09-07 00:00:00','yyyy-mm-dd hh24:mi:ss')
2024-07-03 04:30:20
1、创建测试表,
create table test_date_1(id number, v_date date);
create table test_date_2(id number, v_date date);
2、插入测试数据,
insert into test_date_1
select level, sysdate-level from dual connect by level<200;
insert into test_date_2
select level, sysdate-level from dual connect by level<100;
3、创建索引,
-- Create/Recreate indexes
create index idx_date_1 on TEST_DATE_1 (v_date);
-- Create/Recreate indexes
create index idx_date_2 on TEST_DATE_2 (v_date);
4、执行SQL,
select /*+use_index(t idx_date_1) use_index(b idx_date_2)*/
*
from TEST_DATE_1 t, TEST_DATE_2 b
where t.v_date < b.v_date + 1
and t.v_date > b.v_date - 1
5、按[F5]查看执行计划,可以看到索引是起到了。
2024-07-03 05:50:00
用to_char函数转换后再进行比较。
如emp表中有如下数据:
现要查询hiredate日期为1981年5月1日之前的数据,可用如下语句:
select * from emp where to_char(hiredate,'yyyy-mm-dd')<'1981-05-01';
查询结果:
2024-07-03 11:33:45
2024-07-03 04:04:42