n是查询的变量
select * from T_T where time >= ...
这里...应该是一个time+n的意思,即YYYY-MM-DD (HH+n)-MM-SS请问如何写sql的语句?
7 个解决方案
#1
select * from T_T where time >= your_time+n/24;
#2
9i以上版本支持:
select * from T_T where time >= sysdate + interval 'n' hour
SQL> select sysdate + interval '2' hour from dual;
SYSDATE+INTERVAL'2'
-------------------
2005-07-18 15:28:23
select * from T_T where time >= sysdate + interval 'n' hour
SQL> select sysdate + interval '2' hour from dual;
SYSDATE+INTERVAL'2'
-------------------
2005-07-18 15:28:23
#3
哦,忘记说明time的类型是String.
#4
把time转换成时间在按上面的办法就可以了
to_date(time,'yyyy-mm-dd hh:mi:ss')
to_date(time,'yyyy-mm-dd hh:mi:ss')
#5
select * from T_T where to_date(OPER_TIME1,'yyyy-mm-dd hh:mi:ss') >= to_date(OPER_TIME2,'yyyy-mm-dd hh:mi:ss') + interval '1' hour order by OPER_TIME1 desc
这样的情况,如果OPER_TIME1的值是'2005-07-19 13:20:25',就会报错误:
ORA-01849:小时值必须介于1和12之间.如何解决?
还有一个问题:我执行 select sysdate + interval '2' hour from dual 结果是
2005-7-22 17:17:25
为什么少了一个'0'?
这样的情况,如果OPER_TIME1的值是'2005-07-19 13:20:25',就会报错误:
ORA-01849:小时值必须介于1和12之间.如何解决?
还有一个问题:我执行 select sysdate + interval '2' hour from dual 结果是
2005-7-22 17:17:25
为什么少了一个'0'?
#6
ORA-01849:小时值必须介于1和12之间.如何解决?
这个如何解决啊?
这个如何解决啊?
#7
自己看了.
values(to_date('2001-09-08 16:22:30','YYYY-MM-DD HH24MiSS'))
values(to_date('2001-09-08 16:22:30','YYYY-MM-DD HH24MiSS'))
#1
select * from T_T where time >= your_time+n/24;
#2
9i以上版本支持:
select * from T_T where time >= sysdate + interval 'n' hour
SQL> select sysdate + interval '2' hour from dual;
SYSDATE+INTERVAL'2'
-------------------
2005-07-18 15:28:23
select * from T_T where time >= sysdate + interval 'n' hour
SQL> select sysdate + interval '2' hour from dual;
SYSDATE+INTERVAL'2'
-------------------
2005-07-18 15:28:23
#3
哦,忘记说明time的类型是String.
#4
把time转换成时间在按上面的办法就可以了
to_date(time,'yyyy-mm-dd hh:mi:ss')
to_date(time,'yyyy-mm-dd hh:mi:ss')
#5
select * from T_T where to_date(OPER_TIME1,'yyyy-mm-dd hh:mi:ss') >= to_date(OPER_TIME2,'yyyy-mm-dd hh:mi:ss') + interval '1' hour order by OPER_TIME1 desc
这样的情况,如果OPER_TIME1的值是'2005-07-19 13:20:25',就会报错误:
ORA-01849:小时值必须介于1和12之间.如何解决?
还有一个问题:我执行 select sysdate + interval '2' hour from dual 结果是
2005-7-22 17:17:25
为什么少了一个'0'?
这样的情况,如果OPER_TIME1的值是'2005-07-19 13:20:25',就会报错误:
ORA-01849:小时值必须介于1和12之间.如何解决?
还有一个问题:我执行 select sysdate + interval '2' hour from dual 结果是
2005-7-22 17:17:25
为什么少了一个'0'?
#6
ORA-01849:小时值必须介于1和12之间.如何解决?
这个如何解决啊?
这个如何解决啊?
#7
自己看了.
values(to_date('2001-09-08 16:22:30','YYYY-MM-DD HH24MiSS'))
values(to_date('2001-09-08 16:22:30','YYYY-MM-DD HH24MiSS'))