select * from tbname where operdate>sysdate-30*/(24*60);
select * from tbname where operdate>sysdate-1/24;
select * from tbname where operdate>sysdate-1/24;
解决方案 »
- 在VS2005下联ORACLE10G,提示版本号低了..
- extent management dictionary/local
- 存储过程为什么不能返回多个值呢?
- 求MSSQL2005的存储过程转换成Oracle存储过程的工具
- jdbc批量插入20万条数据导致数据库死掉
- 请大家帮忙:如何写一个orcle 存储过程,要求输入一组数据
- 请教,如何将excel数据导入oracle中
- 11月下旬北京有数据库建模培训,3天的,费用7400人民币,有一起去的吗?
- 两个关于FOXBASE2。1的问题(急!急!急!)
- 求救: Jdeveloper中文显示乱码,sqlplus显示中文是可以的
- 这几个日志文件是怎么回事oracle9i
- 关于process中inctive的状态异常多的问题
select * from tbname where operdate>sysdate-30/(24*60);
select * from tbname where operdate>sysdate-1/24;我来解释一下吧:oracle的日期型变量是以“天”为单位来计算的。
SQL> select sysdate from dual;SYSDATE
-------------------
2005-08-02 14:46:21已用时间: 00: 00: 00.40前一天:
SQL> select sysdate-1 from dual;SYSDATE-1
-------------------
2005-08-01 14:46:46已用时间: 00: 00: 00.30
SQL> 因此,30分钟前也就是sysdte-30/(24*60)
--sorry,上面回复中写错了,多谢了一个*.
一个小时前也就是sysdate-1/24;即(1/24天)
难道是被“冲”掉了?CSDN的数据库是用的oracle还是其他?
下面的2种方法结果是一样的:
SQL> select sysdate + interval '2' hour from dual;SYSDATE+INTERVAL'2'HOUR
-----------------------
2005-8-2 17:29:13SQL> select sysdate + numtodsinterval(2,'hour') from dual;SYSDATE+NUMTODSINTERVAL(2,'HOU
------------------------------
2005-8-2 17:30:38这里NUMTODSINTERVAL ( n , 'char_expr' )
第一个参数是数字,第2个参数是从日期的英文拼写,从'day'到'second'.
年月间隔用NUMTOYMINTERVAL()9i以后还引入了TO_DSINTERVAL ( char ['nlsparam'] )
参数是从日到秒的字符串:'1 2:20:30' 表示1天2小时20分30秒的时间间隔
TO_YMINTERVAL ( char ) 表示年月的间隔另外还引入了interval day to second 和 year to month 的数据类型
interval_value_expr { DAY TO SECOND | YEAR TO MONTH }SQL> select sysdate - to_dsinterval('1 1:05:20') from dual;SYSDATE-TO_DSINTERVAL('11:05:2
------------------------------
2005-8-1 14:33:48SQL> select sysdate - interval '1 1:05:20' day to second from dual;--相隔1天1小时5分20秒SYSDATE-INTERVAL'11:05:20'DAYT
------------------------------
2005-8-1 14:34:18SQL> select sysdate - to_yminterval('2-2') from dual;--相隔2年2个月SYSDATE-TO_YMINTERVAL('2-2')
----------------------------
2003-6-2 15:41:39