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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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;

参考技术A 这个并不难的,最简单的使用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

以上是关于SQL语句如何判断一个日期在两个日期之间的主要内容,如果未能解决你的问题,请参考以下文章

利用SQL语句如何获得两个日期之间相差的天数

SQL语句中怎样比较两个日期的大小?

如何通过 SQL 语句从两个特定日期(由用户指定)之间的数据库表中获取数据?

sql语句日期输入空值报错

SQL语句计算两个日期之间有多少个工作日的方法

sql怎样列出一个月的全部日期