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;
展开全部
这个并不难的,最简单的使用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
如果是单表,直接可以这样写:
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询