日期:2014-05-17  浏览次数:20822 次

oracle 最近的时间(而不是前一天的时间) 跪求sql语句 。
oracle 中查询最近的一天的时间 。


我的解决法案是对时间排序 , 可是我在一想要是排序的话, 那时间的分,秒都排序了 ,可我是要按天排序取最上面的一条 。 


求 : SQL 语句 。 


跪求 。 。 。 大神指点。 




------解决方案--------------------
select * from 表 where 时间 = (select max(时间) from 表 t) ;
------解决方案--------------------
探讨
那又怎么查询当天的其他列 。where 条件怎么写 。

------解决方案--------------------
你这个时间,数据类型是字符串还是时间?

如果是字符串,直接就用字符串截取就是了。

如果是时间,可以用TRUNC做日期截断,也可以to_char(时间, 'YYYYMMDD')把其转为字符串进行匹配。
------解决方案--------------------
回帖就给分,何况此贴日后还有用
------解决方案--------------------
select sum(money) from (
select money from table where to_char(time,'yyyymmdd') = (select to_char(max(time),'yyyymmdd') from table)
)

或者

select d,m from (
select t.*, rownum rn from (
select to_char(time,'yyyymmdd') d,sum(money) m from table group by to_char(time,'yyyymmdd') order by to_char(time,'yyyymmdd') desc
) t
) where rn <= 1
------解决方案--------------------
探讨
引用:
那又怎么查询当天的其他列 。where 条件怎么写 。


Select * From 表
Where to_char(时间, 'YYYYMMDD') = '20120101'