Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1705719
  • 博文数量: 136
  • 博客积分: 10021
  • 博客等级: 上将
  • 技术积分: 3261
  • 用 户 组: 普通用户
  • 注册时间: 2007-01-22 11:26
文章分类

全部博文(136)

文章存档

2010年(1)

2009年(26)

2008年(109)

我的朋友

分类: Oracle

2008-11-30 10:49:50

语法

trunc_date::=

功能

返回 date 经过截断后的日期,截断的位置由 fmt 指定。如果省略 fmt,则默认为截断到日。

举例

它的语法看起来像 round,只是 trunc 不会四舍五入,而是直接截断。我们以 round (date) 函数的两个日期来运行一下 trunc:

下面的例子中,将指定日期截断到日(省略 fmt):

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

阅读(14412) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~