当前位置: 代码迷 >> Java Web开发 >> oracle 最近的时间(而不是前一天的时间) 跪求sql语句 。解决方法
  详细解决方案

oracle 最近的时间(而不是前一天的时间) 跪求sql语句 。解决方法

热度:2444   发布时间:2013-02-25 21:12:23.0
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'
  相关解决方案