with t as
(select to_date('2013/10/10', 'yyyy/mm/dd') date1, '1' nam
from dual
union all
select to_date('2013/10/12', 'yyyy/mm/dd') date1, '2' nam
from dual
union all
select to_date('2013/10/15', 'yyyy/mm/dd') date1, '3' nam from dual)
select *
from t
where date1 = decode((select count(1)
from t
where t.date1 = to_date('2013/10/11', 'yyyy/mm/dd')),
0,
(select min(date1)
from t
where t.date1 > to_date('2013/10/11', 'yyyy/mm/dd')),
to_date('2013/10/11', 'yyyy/mm/dd'))
(select to_date('2013/10/10', 'yyyy/mm/dd') date1, '1' nam
from dual
union all
select to_date('2013/10/12', 'yyyy/mm/dd') date1, '2' nam
from dual
union all
select to_date('2013/10/15', 'yyyy/mm/dd') date1, '3' nam from dual)
select *
from t
where date1 = decode((select count(1)
from t
where t.date1 = to_date('2013/10/11', 'yyyy/mm/dd')),
0,
(select min(date1)
from t
where t.date1 > to_date('2013/10/11', 'yyyy/mm/dd')),
to_date('2013/10/11', 'yyyy/mm/dd'))
解决方案 »
- 求OCCI高手,如何判断数据库连接状态(尤其是断开的状态)!!
- oracle的em启动不了
- 路过的帮个忙看看,是怎么回事?
- c/c++如何访问oracle数据库?
- ◆如何获取当前会话的一下信息◆
- oracle数据库中如何查询一个用户下所有表的记录总条数?
- 我在oracle中创建了一个数据库,为什么在OME中可以看到,而在OMS中看不到呢?
- 一个oracle的实验设计,如何来写设计报告书和程序流程图呢?
- 关于更新 如何对 两个表关联后查出的记录的某个表栏位进行更新???
- 求救!!!如何设计Oracle历史数据的管理模式和方法呢??十万火急!江湖救急!!!
- 请问这样的函数该如何写
- 这条SQL语句如何写?
WITH T AS
(SELECT TO_DATE('2013/12/10', 'yyyy/mm/dd') DATE1
FROM DUAL
UNION ALL
SELECT TO_DATE('2013/12/26', 'yyyy/mm/dd') DATE1
FROM DUAL
UNION ALL
SELECT TO_DATE('2013/12/29', 'yyyy/mm/dd') DATE1
FROM DUAL)
SELECT (SELECT MIN(T.DATE1) FROM T WHERE T.DATE1 >= SYSDATE) FROM DUAL;
(SELECT TO_DATE('2013/12/10', 'yyyy/mm/dd') DATE1
FROM DUAL
UNION ALL
SELECT TO_DATE('2013/12/26', 'yyyy/mm/dd') DATE1
FROM DUAL
UNION ALL
SELECT TO_DATE('2013/12/29', 'yyyy/mm/dd') DATE1
FROM DUAL)
SELECT (SELECT MIN(T.DATE1)
FROM T
WHERE TO_CHAR(T.DATE1, 'yyyymmdd') >= TO_CHAR(SYSDATE, 'yyyymmdd'))
FROM DUAL;
(SELECT TO_DATE('2013/12/10', 'yyyy/mm/dd') DATE1
FROM DUAL
UNION ALL
SELECT TO_DATE('2013/12/26', 'yyyy/mm/dd') DATE1
FROM DUAL
UNION ALL
SELECT TO_DATE('2013/12/29', 'yyyy/mm/dd') DATE1
FROM DUAL)
SELECT (SELECT MIN(T.DATE1)
FROM T
WHERE TO_CHAR(T.DATE1, 'yyyymmdd') >= TO_CHAR(SYSDATE, 'yyyymmdd'))
FROM DUAL;谢谢啦