oracle中取距离当天最近的一条记录

大明湖畔_帅锅 2011-07-18 02:43:03
select a.saccdate, Row_number() OVER(order BY a.saccdate desc)
from t_stockaccounting a
where
To_Char(a.saccdate,'yyyy-mm-dd') < To_Char(SYSDATE,'yyyy-mm-dd') and rownum <= 1


查询出来无效 invalid number,问题应该出在时间对比这里、该怎么写呢?
...全文
1038 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tangren 2011-07-18
  • 打赏
  • 举报
回复
select * from (select * from tb1 where dt1<trunc(sysdate) order by dt1 desc) where rownum<2;
BenChiM888 2011-07-18
  • 打赏
  • 举报
回复

[TEST@orcl] SQL>WITH t1 AS(
2 SELECT DATE'2011-07-05' logdate FROM dual UNION ALL
3 SELECT DATE'2011-07-08' logdate FROM dual UNION ALL
4 SELECT DATE'2011-07-16' logdate FROM dual UNION ALL
5 SELECT DATE'2011-07-06' logdate FROM dual UNION ALL
6 SELECT DATE'2011-07-11' logdate FROM dual
7 )SELECT *
8 FROM(
9 SELECT t1.*,row_number()over(ORDER BY t1.logdate DESC) row_
10 FROM t1
11 WHERE t1.logdate <= DATE'2011-07-14')
12 WHERE row_ = 1;

LOGDATE ROW_
------------------- ----------
2011/07/11 00:00:00 1

  • 打赏
  • 举报
回复
很简单 一个表tb1 里面一列数据dt1 就是时间字段

dt1里面插几行数据
2011-07-05
2011-07-08
2011-07-16
2011-07-06
2011-07-11

输入一个日期 要求返回这个日期最近的一条记录

比如 输入 2011-07-14号 返回 2011-07-11
tangren 2011-07-18
  • 打赏
  • 举报
回复
给出的你的建表和样例数据脚本,和想要的结果格式。
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 beirut 的回复:]

SQL code
select a.saccdate from t_stockaccounting a
where
To_Char(a.saccdate,'yyyy-mm-dd') < To_Char(SYSDATE,'yyyy-mm-dd')
and rownum=1
order BY a.saccdate desc
[/Quote]

提示 invalid number
黄_瓜 2011-07-18
  • 打赏
  • 举报
回复
select a.saccdate from t_stockaccounting a
where
To_Char(a.saccdate,'yyyy-mm-dd') < To_Char(SYSDATE,'yyyy-mm-dd')
and rownum=1
order BY a.saccdate desc
剑锋冷月 2011-07-18
  • 打赏
  • 举报
回复
是距离 0点0分0秒 最近的吗? 小于 2011-07-18 00:00:00 还是
距离这个时间点最近的 2011-07-18 00:00:01 可能是最近的
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 zftang 的回复:]

select a.saccdate, Row_number() OVER(partition by 字段 order BY a.saccdate desc)
from t_stockaccounting a
[/Quote]

貌似查询出来不对哇? 查询除当天以外 时间最大的一条记录 时间对比应该怎么做呢?
秋雨飘落 2011-07-18
  • 打赏
  • 举报
回复
select a.saccdate, Row_number() OVER(partition by 字段 order BY a.saccdate desc)
from t_stockaccounting a

17,380

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧