oracle语句查询时间范围

文章讨论了在OracleSQL查询中关于时间范围的问题。当使用to_date函数精确匹配日期时,发现查询结果不包含预期的日期。作者指出,问题可能出在日期转换的处理上,通过对比两种不同的查询方式,揭示了在比较日期时潜在的精度问题和解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle语句查询时间范围

参考网址 :

https://blog.csdn.net/weixin_36436373/article/details/116541220?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522167930069316800188562500%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=167930069316800188562500&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~pc_rank_34-1-116541220-null-null.142v74pc_new_rank,201v4add_ask,239v2insert_chatgpt&utm_term=oracle%20%E6%97%B6%E9%97%B4%E8%8C%83%E5%9B%B4%E6%9F%A5%E8%AF%A2%E4%B8%8D%E5%8C%85%E6%8B%AC%E7%AD%89%E4%BA%8E&spm=1018.2226.3001.4187

select 时间精确到秒

from table

where 时间精确到秒<= to_date('2013-11-20 ', 'yyyy-MM-dd ')

and 时间精确到秒 >= to_date('2013-11-20 ', 'yyyy-MM-dd ')

image-20230320172854161

问题

·明显数据查询2013-11-20那天没有数据,而如果sql如下写发现数据库中是存在数据的。

select 时间精确到秒

from table

where to_date(to_char(时间精确到秒,‘yyyy-MM-dd’),‘yyyy-MM-dd’) <= to_date('2013-11-21 ', 'yyyy-MM-dd ')

and to_date(to_char(时间精确到秒,‘yyyy-MM-dd’),‘yyyy-MM-dd’) >= to_date('2013-11-20 ', 'yyyy-MM-dd ')

image-20230320172943945

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值