oracle 查询开始和结束日期之间的数据(闭区间)

本文解释了在Oracle中查询开始和结束日期之间数据时,为何通常只能获取大于等于开始日期且小于结束日期的数据,而无法包含结束日期当天的数据。通过在传递日期参数时添加时分秒,并调整日期格式,可以解决此问题并获取到结束日期当天的数据。

oracle中 查询开始和结束日期之前的数据(闭区间),通常我们从页面上获得开始日期,结束日期后使用  :DB中的日期字段>= to_date('开始日期','dd/mm/yyyy') and

DB中的日期字段<= to_date('开始日期','dd/mm/yyyy')  来获取开始日期和结束日期之间的数据,但此时往往只能是取得>=开始日期 <结束日期的数据(取得的数据不包含结束如期当天的数据),这是为什么?

原因是:DB中的date类型的字段默认是带时分秒的,  如果从页面传递过来的日期不包含时分秒,当DB中的日期字段的时分秒大于00:00:00 秒 ,DB中的日期字段就会大于结束日期,因此取不到数据。

这时,需要手动在传递过来的日期后添加时分秒,在开始日期后添加“00:00:00”,在结束日期后添加“23:59:59” ,日期format 改为:'dd/mm/yyyy hh24:mi:ss',这样就能把结束日期当天的数据也取出来了。

1、向project_risk表插入一条记录,字段值如下: 1)C_CREATE_BY:admin 2)C_CREATE_TIME:当前时 3)C_DELETE_FLAG:0 4)C_PROJECT_ID:3 5)C_RISK_LEVEL:1 6)C_RISK_ITEM:手动插入风险项_你的名字 7)C_RISK_NAME:手动插入风险名称_你的名字 8)C_START_DATE:2022-09-01 9)C_END_DATE:2022-12-31 10)C_RISK_DESC:手动插入风险描述_你的名字 11)C_RISK_STATUS:0 12)C_EQUIP_STATUS:1 2、将刚才插入的数据进行修改,修改值如下: 1)C_RISK_ITEM:手动修改插入风险项_你的名字 2)C_RISK_NAME:手动修改插入风险名称_你的名字 3)C_RISK_STATUS:1 4)C_EQUIP_STATUS:2 3、查询出刚才新增的这条数据,显示字段:ID、风险等级、风险项、风险名称、开始日期结束日期、风险描述、风险状态 4、查询出刚才新增的这条数据,显示字段:ID、项目名称、风险等级、风险项、风险名称、开始日期结束日期、风险描述、风险状态 5、查询项目ID为3的数据,并按照开始日期正序排列 6、统计项目对应的风险状态为完成的风险清单数量,显示字段:项目ID、风险清单数量 7、统计项目对应的风险状态为完成的风险清单数量,显示字段:项目名称、风险清单数量 8、统计项目对应的风险状态为完成、当前时处于开始日期结束日期之间(两边都是闭区间)的风险清单数量,显示字段:项目名称、风险清单数量
09-19
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值