全部博文(136)
分类: Oracle
2008-11-30 10:49:50
trunc_date::=
返回 date 经过截断后的日期,截断的位置由 fmt 指定。如果省略 fmt,则默认为截断到日。
它的语法看起来像 round,只是 trunc 不会四舍五入,而是直接截断。我们以 round (date) 函数的两个日期来运行一下 trunc:
SQL> alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss';
会话已更改。
SQL> select trunc(to_date('2008-11-30 10:19:20', 'yyyy-mm-dd
hh24:mi:ss')) from dual;
TRUNC(TO_DATE('2008
------------------- 2008-11-30 00:00:00 SQL> select trunc(to_date('2008-11-30 13:19:20', 'yyyy-mm-dd
hh24:mi:ss')) from dual;
TRUNC(TO_DATE('2008 ------------------- 2008-11-30 00:00:00 |
下面的例子中,将指定日期截断到年:
SQL> select trunc(to_date('2008-06-30 13:19:20', 'yyyy-mm-dd
hh24:mi:ss'), 'yyyy') from dual;
TRUNC(TO_DATE('2008
------------------- 2008-01-01 00:00:00 SQL> select trunc(to_date('2008-07-30 13:19:20', 'yyyy-mm-dd
hh24:mi:ss'), 'yyyy') from dual;
TRUNC(TO_DATE('2008 ------------------- 2008-01-01 00:00:00 |