SQL语句如何判断一个日期在两个日期之间

如题所述

1、创建测试表,

create table test_date_bet(id varchar2(20),v_date date);


2、插入测试数据;

insert into test_date_bet values(1, sysdate-100);

insert into test_date_bet values(2, sysdate-10);

insert into test_date_bet values(3, sysdate-5);

insert into test_date_bet values(4, sysdate);

insert into test_date_bet values(5, sysdate-4);

commit;

3、查询表中全量数据;select t.*, rowid from test_date_bet t;

4、编写语句,查询sydate-5与sydate之间的记录;

   select t.*, rowid sec from test_date_bet t where v_date between sysdate-5 and sysdate;

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-15
这个并不难的,最简单的使用case when 判定就能实现。
如果是单表,直接可以这样写:
select case when 时间字段 between '需要判定的最小时间' and '需要判定的最大时间' then 'true' else 'false' end from 表1
我想楼主应该是想多表放在一起怎么判定时间吧,那么假设你有两张表,表使用ID做关联的,那可以这样写:
select case when 时间字段 between b.时间1 and b.时间2 then 'true' else 'false' end from 表1 a
join 表2 b on a.ID= b.ID本回答被网友采纳
相似回答