日期:2014-05-17  浏览次数:20886 次

如何使用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;