即要以30分钟为单位取整执行,有以下两种方法:
-- 简单起见,只写取下一次时间的算法
方法一:
SQL> select trunc(sysdate,'HH24')+(trunc(sysdate+1/48,'HH24')-trunc(sysdate,'HH24'))/2+1/48 from dual;
TRUNC(SYSDATE,'HH24')+(TRUNC(S
------------------------------
2006-4-12 15:30:00
方法二:
QL> select trunc(sysdate,'HH24')+CASE WHEN TO_CHAR(SYSDATE,'MI')>=30 THEN 1/24 ELSE 1/48 END from dual;
TRUNC(SYSDATE,'HH24')+CASEWHEN
------------------------------
2006-4-12 15:30:00
[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/3898/viewspace-826860/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/3898/viewspace-826860/