Oracle怎么取小数的整数部分?
用法一(for date):
为指定元素而截去的日期值。
语法如下:
TRUNC(date,[fmt])
参数分析:
date
一个日期值。
fmt
日期格式,该日期将由指定的元素格式所截去。 忽略它则由最近的日期截。
不多说了,直接看示例吧!看完你就会明白。
示例:
以今天为例,今天是2010年9月10日。(刚刚好今天是教师节,在这里祝老师们节日快乐哦!)
SELECT trunc(sysdate,'mm')FROM dual
返回2010-9-01(也就是说返回当月的第一天)
SELECT trunc(sysdate,'yy')FROM dual
返回2010-1-1
当年第一天
S...全部
用法一(for date):
为指定元素而截去的日期值。
语法如下:
TRUNC(date,[fmt])
参数分析:
date
一个日期值。
fmt
日期格式,该日期将由指定的元素格式所截去。
忽略它则由最近的日期截。
不多说了,直接看示例吧!看完你就会明白。
示例:
以今天为例,今天是2010年9月10日。(刚刚好今天是教师节,在这里祝老师们节日快乐哦!)
SELECT trunc(sysdate,'mm')FROM dual
返回2010-9-01(也就是说返回当月的第一天)
SELECT trunc(sysdate,'yy')FROM dual
返回2010-1-1
当年第一天
SELECT trunc(sysdate,'dd')FROM dual
返回2010-9-10
当天
SELECT trunc(sysdate,'day')FROM dual
返回2010-9-5
当周第一天
SELECT trunc(sysdate)FROM dual
返回2010-9-10
不填fmt参数就默认是当天
PS:
trunc(sysdate)输出的格式为YYYY-MM-DD,但它是把时间四舍五入到了当日的零点, 也就是:
SELECT to_char(trunc(sysdate),'YYYY-MM-DD HH24:mi:ss') FROM dual
返回2010-09-10 00:00:00
++查看更多oracle转换字符函数
用法二(for number):
TRUNC函数返回处理后的数值,其原理跟ROUND函数很类似,只是该函数不对指定小数前或后的部分做相应舍入选择处理,
而是
全部都截去。
语法如下:
1TRUNC(number,[decimals])
参数分析:
number
准备做截取处理的数值。
decimals
指明需保留小数点后面的位数。(注:可选项,忽略它则截去所有的小数部分)
第二个参数可以为负数,表示为小数点左边指定位数后面的部分截去
示例:
SELECT TRUNC(88。
876,2) FROM dual
返回88。87
SELECT TRUNC(88。876) FROM dual
返回88
SELECT TRUNC(88。876,-1) FROM dual
返回80。
收起