>  기사  >  데이터 베이스  >  Oracle 공통 기능 Trunc에 대한 자세한 설명

Oracle 공통 기능 Trunc에 대한 자세한 설명

小云云
小云云원래의
2017-12-11 13:27:324037검색


이 글은 주로 사용되는 Oracle 함수 Trunc를 소개하고 Trunc 함수가 필요한 친구들이 참고하면 도움이 될 것입니다.

추천 관련 mysql 비디오 튜토리얼: "mysql tutorial"

1.Trunc(date)

trunc는 지정된 요소로 날짜 유형 데이터를 가로챕니다

구문: ​​trunc(date, [format] )

date – 날짜 형식의 값

format – 'mm', 'yyyy' 등과 같은 날짜 형식. 지정된 날짜 형식에서 날짜를 가로챕니다.

예:

trunc(sysdate,'yyyy')=‘01-01月-17'(sysdate='21-11月-17'); --返回今年的第一天
trunc(sysdate,'mm')=‘01-11月-17'; --返回本月第一天
trunc(sysdate,'d')=‘19-11月-17'; --(今天星期二,一周从周日开始计算)返回本周第一天

2 Trunc(number ,[number1])

trunc(number)는 첫 번째 숫자가 반올림되지 않는다는 점을 제외하면 round( )와 유사합니다.

예:

round(89.125,2)=89.13
trunc(89.125,2)=89.12
trunc(89.125,-1)=80

number1의 기본값은 0입니다.

다음은 Oracle trunc() 함수의 사용법을 소개합니다

1.TRUNC(날짜용)

 TRUNC 함수가 지정된 요소에 대해 잘라낸 날짜 값입니다.

 구체적인 구문 형식은 다음과 같습니다.

 TRUNC(date[,fmt])

  그 중:

 날짜 값 날짜

 fmt 날짜 형식, 날짜는 지정된 요소 형식으로 잘립니다. 무시하고 가장 가까운 날짜부터 자릅니다

 이 함수의 사용법은 다음과 같습니다.

 TRUNC(TO_DATE('24-Nov-1999 08:00 pm'), 'dd-mon-yyyy hh:mi am')

  ='24-Nov-1999 12:00:00 am'

  TRUNC(TO_DATE('24-Nov-1999 08:37 pm','dd-mon-yyyy hh:mi am'),'hh' ) ='24-Nov-1999 08:00:00 am'

 trunc(sysdate,'yyyy') --연도의 첫 번째 날을 반환합니다.

 trunc(sysdate,'mm') --월의 첫째 날을 반환합니다.

 trunc(sysdate,'d') --현재 주의 첫째 날을 반환합니다.

 trunc(sysdate,'dd')--현재 연도, 월, 일을 반환합니다.

 2.TRUNC(숫자용)

 TRUNC 함수의 작동 메커니즘은 ROUND 함수와 매우 유사합니다. 단, 이 함수는 지정하지 않습니다. 소수점 앞이나 뒤의 부분은 그에 따라 반올림되어 선택되며 모두 잘립니다.

 구체적인 구문 형식은 다음과 같습니다.

 TRUNC (숫자[,십진수])

 여기서:

 number는 가로챌 값입니다.

 decimals는 유지해야 하는 소수점 이하 자릿수를 지정합니다. 선택 사항입니다. 무시하고 모든 소수 부분을 자릅니다.

다음은 이 함수의 사용법입니다.

TRUNC (89.985, 2) = 89.98

TRUNC (89.985) = 89

TRUNC (89.985, -1) = 80

참고: 두 번째 매개변수는 음수일 수 있습니다. 즉, 소수점 왼쪽의 지정된 자릿수 이후 부분은 잘립니다. 즉, 0으로 기록됩니다. 예를 들어, 매개변수가 1이면 10분의 1로 반올림됩니다.

--오라클의 trunc() 함수 사용법


/**************日期********************/
1.select trunc(sysdate) from dual --2011-3-18 今天的日期为2011-3-18
2.select trunc(sysdate, 'mm')  from  dual --2011-3-1  返回当月第一天.
3.select trunc(sysdate,'yy') from dual --2011-1-1    返回当年第一天
4.select trunc(sysdate,'dd') from dual --2011-3-18  返回当前年月日
5.select trunc(sysdate,'yyyy') from dual --2011-1-1  返回当年第一天
6.select trunc(sysdate,'d') from dual --2011-3-13 (星期天)返回当前星期的第一天
7.select trunc(sysdate, 'hh') from dual  --2011-3-18 14:00:00  当前时间为14:41  
8.select trunc(sysdate, 'mi') from dual --2011-3-18 14:41:00  TRUNC()函数没有秒的精确
/***************数字********************/
/*
TRUNC(number,num_digits) 
Number 需要截尾取整的数字。 
Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。
TRUNC()函数截取时不进行四舍五入
*/
9.select trunc(123.458) from dual --123
10.select trunc(123.458,0) from dual --123
11.select trunc(123.458,1) from dual --123.4
12.select trunc(123.458,-1) from dual --120
13.select trunc(123.458,-4) from dual --0
14.select trunc(123.458,4) from dual --123.458
15.select trunc(123) from dual --123
16.select trunc(123,1) from dual --123
17.select trunc(123,-1) from dual --120

오라클에서 흔히 사용하는 Trunc 함수는 이미 다들 알고 계시리라 믿습니다. 직접 사용해 보세요.

관련 추천 :

Oracle 사용자 정의 분할 함수 예제에 대한 자세한 설명

Oracle의 테이블 함수 적용에 대한 간략한 분석

Oracle 마이너스 사용법에 대한 자세한 설명 및 응용 예제

위 내용은 Oracle 공통 기능 Trunc에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.