Oracle学习笔记——trunc()函数的用法

来源:互联网 发布:junit数据库自动回滚 编辑:程序博客网 时间:2024/06/04 01:29
--Oracle trunc()函数的用法
--trunc(d1[,c1])
--【功能】:返回日期d1所在期间(参数c1)的第一天日期
--【参数】:d1日期型,c1为字符型(参数),c1默认为j(即当前日期)
--【参数表】:c1对应的参数表:


/**************日期********************/

select sysdate from dual; --当前日期:2017/9/18 22:40:40
select trunc(sysdate) from dual;  --今天的日期为:2017/9/18
select trunc(sysdate,'mm') from dual; --month或mon或mm或rm 返回当前月的第一天
select trunc(sysdate,'dd') from dual; --返回当前年月日
select trunc(sysdate,'yy') from dual; --最近年初日期:syear或year或yyyy或yyy或yy或y(多个y表示精度)返回当前年的第一天
select trunc(sysdate,'d') from dual; --最近的星期日(返回当前星期的第一天):day或dy或d (每周顺序:日,一,二,三,四,五,六)
select trunc(sysdate,'hh') from dual; --返回2017/9/18 22:00:00 当前时间为22:50,当前函数没有分的精确
select trunc(sysdate,'mi') from dual; --2017/9/18 22:52:00,当前函数没有秒的精确


/***************数字********************/
--trunc(x[,y])
--【功能】返回x按精度y截取后的值
--【参数】x,y,数字型表达式,如果y不为整数则截取y整数部分,如果y>0则截取到y位小数,如果y小于0则截取到小数点向左第y位,小数前其它数据用0表示。
--【返回】数字
/*
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/


select trunc(123.458) from dual; --123
select trunc(123.458,0) from dual; --123
select trunc(123.458,1) from dual; --123.4
select trunc(123.458,-1) from dual; --120
select trunc(123.458,-4) from dual; --0
select trunc(123.458,4) from dual; --123.458
select trunc(123) from dual; --123
select trunc(123,1) from dual; --123
select trunc(123,-1) from dual; --120


--【相近】round(x[,y])
--返回截取后的值,用法同trunc(x[,y]),只是要做四舍五入






原创粉丝点击