当前位置: 代码迷 >> Oracle面试 >> 怎么使用trunc实现如下功能?
  详细解决方案

怎么使用trunc实现如下功能?

热度:8494   发布时间:2013-02-26 00:00:00.0
如何使用trunc实现如下功能??!!!!
想通过trunc
把   2007-2-2   09:22:00   截成   2007-2-2   00:00:00
把   2007-2-2   19:22:00   截成   2007-2-2   12:00:00

也就是半天一个单位。。。

请问有办法吗?
我只会按照yyyy/mm/dd/hh/等来截,不会半天的,谢谢啊


------解决方案--------------------------------------------------------
trunc截取日期最小单位只能是day吧,而且只舍到单位的第一天
------解决方案--------------------------------------------------------
给你个范例

SELECT
DECODE(TO_CHAR(SYSDATE - 0.5, 'DD '), TO_CHAR(SYSDATE, 'DD '),
TRUNC(SYSDATE, 'DD ') + 0.5,
TRUNC(SYSDATE, 'DD ')) AS TRUNCDATE
FROM DUAL;