【转载】TRUNC函数的两种用法
2013-09-05 14:35
190 查看
TRUNC函数用于对值进行截断。
用法有两种:TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期。
(1)截断数字:
格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。注意,TRUNC截断不是四舍五入。
SQL>
select TRUNC(15.79) from dual;
TRUNC(15.79)
------------
15
SQL>
select TRUNC(15.79,1) from dual;
TRUNC(15.79,1)
--------------
15.7
SQL>
select trunc(15.79,-1) from dual;
TRUNC(15.79,-1)
---------------
10
(2)截断日期:
先执行命令:alter
session set nls_date_format='yyyy-mm-dd hh24:mi:hh';
截取今天:
SQL>
select sysdate,trunc(sysdate,'dd') from dual;
SYSDATE
TRUNC(SYSDATE,'DD')
------------------- -------------------
2009-03-24 21:31:17 2009-03-24 00:00:00
截取本周第一天:
SQL>
select sysdate,trunc(sysdate,'d') from dual;
SYSDATE
TRUNC(SYSDATE,'D')
------------------- -------------------
2009-03-24 21:29:32 2009-03-22 00:00:00
截取本月第一天:
SQL>
select sysdate,trunc(sysdate,'mm') from dual;
SYSDATE
TRUNC(SYSDATE,'MM')
------------------- -------------------
2009-03-24 21:30:30 2009-03-01 00:00:00
截取本年第一天:
SQL>
select sysdate,trunc(sysdate,'y') from dual;
SYSDATE
TRUNC(SYSDATE,'Y')
------------------- -------------------
2009-03-24 21:31:57 2009-01-01 00:00:00
截取到小时:
SQL>
select sysdate,trunc(sysdate,'hh') from dual;
SYSDATE
TRUNC(SYSDATE,'HH')
------------------- -------------------
2009-03-24 21:32:59 2009-03-24 21:00:00
截取到分钟:
SQL>
select sysdate,trunc(sysdate,'mi') from dual;
SYSDATE
TRUNC(SYSDATE,'MI')
------------------- -------------------
2009-03-24 21:33:32 2009-03-24 21:33:00
获取上月第一天:
SQL>
select TRUNC(add_months(SYSDATE,-1),'MM') from dual
用法有两种:TRUNC(NUMBER)表示截断数字,TRUNC(date)表示截断日期。
(1)截断数字:
格式:TRUNC(n1,n2),n1表示被截断的数字,n2表示要截断到那一位。n2可以是负数,表示截断小数点前。注意,TRUNC截断不是四舍五入。
SQL>
select TRUNC(15.79) from dual;
TRUNC(15.79)
------------
15
SQL>
select TRUNC(15.79,1) from dual;
TRUNC(15.79,1)
--------------
15.7
SQL>
select trunc(15.79,-1) from dual;
TRUNC(15.79,-1)
---------------
10
(2)截断日期:
先执行命令:alter
session set nls_date_format='yyyy-mm-dd hh24:mi:hh';
截取今天:
SQL>
select sysdate,trunc(sysdate,'dd') from dual;
SYSDATE
TRUNC(SYSDATE,'DD')
------------------- -------------------
2009-03-24 21:31:17 2009-03-24 00:00:00
截取本周第一天:
SQL>
select sysdate,trunc(sysdate,'d') from dual;
SYSDATE
TRUNC(SYSDATE,'D')
------------------- -------------------
2009-03-24 21:29:32 2009-03-22 00:00:00
截取本月第一天:
SQL>
select sysdate,trunc(sysdate,'mm') from dual;
SYSDATE
TRUNC(SYSDATE,'MM')
------------------- -------------------
2009-03-24 21:30:30 2009-03-01 00:00:00
截取本年第一天:
SQL>
select sysdate,trunc(sysdate,'y') from dual;
SYSDATE
TRUNC(SYSDATE,'Y')
------------------- -------------------
2009-03-24 21:31:57 2009-01-01 00:00:00
截取到小时:
SQL>
select sysdate,trunc(sysdate,'hh') from dual;
SYSDATE
TRUNC(SYSDATE,'HH')
------------------- -------------------
2009-03-24 21:32:59 2009-03-24 21:00:00
截取到分钟:
SQL>
select sysdate,trunc(sysdate,'mi') from dual;
SYSDATE
TRUNC(SYSDATE,'MI')
------------------- -------------------
2009-03-24 21:33:32 2009-03-24 21:33:00
获取上月第一天:
SQL>
select TRUNC(add_months(SYSDATE,-1),'MM') from dual
相关文章推荐
- (转载)java中super的两种用法
- 【转载】form表单的两种提交方式,submit和button的用法
- TRUNC函数的用法【转载】
- 转载!!!Java中Collections类的排序sort函数两种用法
- 转载:UICollectionReusableView的用法
- 两种JSP页面include用法的区别
- Collections.sort两种用法
- BeanShell用法汇总(转载)
- exec族函数用法(转载)
- iOS 基本对象的用法详解(转载)
- 【转载】Spark中:reduceByKey和groupByKey区别与用法
- form表单的两种提交方式,submit和button的用法
- sprintf用法 [转载]
- 转载:substr(),mb_substr()及mb_strcut的区别和用法
- 【转载】 C++中this指针的用法详解
- Sql server 事务的两种用法
- static和this的理解和用法小节(转载)
- FTP两种工作模式:主动模式(Active FTP)和被动模式(Passive FTP)(转载)
- C++ operator两种用法
- [转载]sql server T-SQL 区分字符串大小写 的两种方法