当前位置:数据库 > Oracle >>

oracle 中如何查处2星期前的数据

追问:谢谢你们,可能是我表述的不太清楚。这主要是用SQL要做一个周环比要用到,公式为: 环比=(本期数据-上期数据)/上期数据谢谢你哦,还有点不明白的,如果说是7月2日得话,直接减14是找不到记录的。这个问题如何解决呢
答案:日期直接减掉天数得到向前推移的日期,而日期型和日期型是肯定可以比较的。
如果说你用7月2日减去14得不到结果,只能是你写的语句有问题。
先确认一下,7月2日这个字段虽然现实的是日期,但是数据库里面表字段的类型是否是date类型,如果不是,全部白说,只有是日期字段做加减法才可以得到推移的天数。
SELECT * FROM TABLE WHERE DATECOLUMN < (SYSDATE - 14)
其他:其实很简单,主要是按时间写sql,首先你得了解oracle的3个关于日期的公式
   日期-数字=日期
   日期+数字=日期
   日期-日期=数字(天数)
现在要解答你的问题简单了吧?对就是用现在的系统时间减掉你的字段的时间大于14就可以了。
例如(你的sql):
 SELECT * FROM XX(表明)
 WHERE (sysdate-字段名)〉14 首先明确一下楼主的需求,即楼主希望查询某表中2个星期前的数据。
这里需要分两种情况讨论:
1、表中存在记录“插入数据的时间”的字段。
一般该字段的类型是varchar。该字段用“s”表示,sql语句是:
select * from table where sysdate-to_date(s,'yyyy-mm-dd hh24:mi:dd')>14;
2.表中不存在记录“插入数据的时间”的字段。
这种情况需要做备份恢复。将数据恢复到2个星期以前。为了防止出现问题,在恢复之前要做好现有数据库的备份。 

上一个:oracle 重复列的问题
下一个:请教oracle数据库安装中的问题

Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,