oracle 获取最近的整点、半点时间
2014-05-08 12:05
405 查看
最近需要取一个时间,就是最近的半小时整点时间,比如12点,12点半等。
第一种写法
第二种写法
这两种方法用循环50W次测时间差别不大。
这里直接用sign取正负,再用decode编码得到是否需要加半小时时间。第一种写法是时间加减,第二种写法是取得分钟数转整数再做减法。
第一种写法
select trunc(sysdate, 'hh24') + decode(sign(trunc(sysdate, 'mi') - trunc(sysdate, 'hh24') - 1/48), 1, 1/48, 0) t from dual;
第二种写法
select trunc(sysdate, 'hh24') + decode(sign(to_number(to_char(sysdate, 'mi')) - 30), 1, 1/48, 0) t from dual;
这两种方法用循环50W次测时间差别不大。
这里直接用sign取正负,再用decode编码得到是否需要加半小时时间。第一种写法是时间加减,第二种写法是取得分钟数转整数再做减法。
相关文章推荐
- oracle 获取最近的整点、半点时间
- oracle 获取最近的整点、半点时间
- oracle中获取年份、月份段内的时间
- Oracle中如何获取系统当前时间
- Oracle获取系统时间及格式化
- oracle 获取时间
- Util工具类 获取指 4000 定时间的最近半年时间月份第一天
- Oracle 在SQL语句中如何获取系统当前时间并进行操作
- oracle获取上一旬的开始时间和结束时间的函数
- Oracle中获取系统当前时间和处理时间
- Oracle中如何获取系统当前时间
- 获取指定日期的随机时间(oracle函数)
- Oracle备份文件名获取系统时间的做法(windows)
- Oracle中如何获取系统当前时间
- oracle获取小于或等于当前时间行列
- Oracle中如何获取系统当前时间
- oracle获取指定的日期、时间
- Oracle中ID的自动增加以及获取系统时间的小技巧
- Oracle 数据库中获取系统的当前时间
- ORACLE,SQLSERVER等数据库如何获取某张表中相同字段最近一条数