小蒜头's Blog

Happy coding

oracle 时间分钟取5的倍数

小蒜头 posted @ 2013年5月21日 13:55 in [Oracle数据库] , 1578 阅读
比如输入的时间是:2010-08-11 18:34:00  处理以后的时间是:2010-08-11 18:35:00 

比如输入的时间是:2010-08-11 18:27:32  处理以后的时间是:2010-08-11 18:25:00 

比如输入的时间是:2010-08-11 18:28:32  处理以后的时间是:2010-08-11 18:30:00

 

 

先取分钟,然后取模5,判断是不是大于2,加上或舍去。
看下面例子:
select case
         when mod(to_char(sysdate, 'mi'), 5) > 2 then
         -- 取模大于2说明是要往上加的,凑成5的整数
          5 - mod(to_char(sysdate, 'mi'), 5) + to_char(sysdate, 'mi')
         else
         -- 小于2说明是要舍去的
          to_char(sysdate, 'mi') - mod(to_char(sysdate, 'mi'), 5)
       end as M
  from dual

登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter