trunc function
Числовая функция: функция усечения значения trunc
1.trunc (значение 1, n)
2.trunc (дата, «единица крайнего срока»)
Числовая функция: функция усечения значения trunc trunc
имеет два применения в Oracle:
1.trunc(значение 1, n)
перехватывает значение, представленное столбцом или выражением, до n-й цифры после запятой
а. Если n=0, это эквивалентно сохранению только целой части
б. Если n<0, это эквивалентно Intercept до n-й цифры перед запятой
(если вы не можете понять это, вы можете использовать следующие примеры, чтобы помочь вам понять)
以下为trunc第一种用法的所有情况使用
select trunc(25.569,2) from dual--25.56
select trunc(25.569,4) from dual--25.569
select trunc(25.569,0) from dual--25
select trunc(25.569) from dual--25
select trunc(25.569,-1) from dual-20
select trunc(25.569, -2) from dual--0
select trunc(25.569,-3) from dual--0
select trunc(25.569,-9) from dual --0
select trunc(215.569,-2) from dual--200
select trunc(123.458,4) from dual--123.458 不知道为啥,老是在这里错掉
2.trunc(дата,'крайний срок')
select sysdate from dual--显示2015/05/06 11:17:25
select trunc(sysdate) from dual--返回当前的日期,默认后面为dd 显示2015/05/06
select trunc(sysdate,'yy') from dual--返回当前年份的第一天,yy与yyyy相同 显示2015/01/01
select trunc(sysdate,'mm') from dual--返回当前月份的第一天 显示 2015/05/01
select trunc(sysdate,'dd') from dual-- 2015/05/06 (并不显示其他时间单位)
select trunc(sysdate, 'hh') from dual--返回当前小时的初始值 显示 2015/05/06 11:00:00
select trunc(sysdate, 'mi') from dual--返回当前分钟初始秒 2015/05/06 11:17:00
--特殊情况
select trunc(add_months(sysdate,-12), 'yy') from dual--返回当前年的第一天
select trunc(sysdate, 'd') from dual--返回当前星期的第一天