TRUNC 함수는 기본적으로 절사(내림) 하기 위해서 사용합니다.
함수의 인자로 숫자뿐만 아니라 날짜, 시간, 요일 등을 사용할 수 있어 다양하게 활용할 수 있습니다.
반응형
기본 문법
TRUNC(arg1, arg2)
** arg1: 숫자, 날짜, 시간, 요일 등 절사의 대상이 되는 기본 값
** arg2: 양수(소수점 오른쪽에 남는 유효 자릿수), 0(기본값, 소수점 아래 버림), 음수(소수점 왼쪽으로 잘린 유효 자릿수)
TRUNC(숫자)
SELECT TRUNC(123.456, 2 ) AS "양수" /*123.45*/
, TRUNC(123.456, 0 ) AS "0" /*123*/
, TRUNC(123.456, -2) AS "음수" /*100*/
, TRUNC(123.456 ) AS "생략" /*123*/
FROM DUAL
TRUNC(날짜 및 시간)
SELECT
TRUNC(SYSDATE, 'YEAR' ) AS YEAR /* 년 밑으로 자르기 */
, TRUNC(SYSDATE, 'MONTH') AS MONTH /* 월 밑으로 자르기 */
, TRUNC(SYSDATE, 'DD' ) AS DD /* 일 밑으로 자르기 */
, TRUNC(SYSDATE, 'DAY' ) AS DAY /* 요일 초기화(지난일요일) */
, TRUNC(SYSDATE, 'HH24' ) AS HH24 /* 시 밑으로 자르기 */
, TRUNC(SYSDATE, 'MI' ) AS MI /* 분 밑으로 자르기 */
FROM DUAL
TRUNC with 분기말, 분기초 등 날짜 계산
SELECT TRUNC(SYSDATE, 'YY') AS YY /*같은 연도의 01월 01일 */
, TRUNC(SYSDATE, 'Q') AS Q /*분기의 첫월 01일*/
, TRUNC(SYSDATE, 'MM') AS MM /*YYYY년 MM월 01일*/
, TRUNC(SYSDATE, 'WW') AS WW /*SYSDATE가 속하는 주에서 같은 연도 1월1일의 요일과 같은 요일의 일자*/
, TRUNC(SYSDATE, 'IW') AS IW /*SYSDATE가 속하는 주에서 월요일의 일자*/
, TRUNC(SYSDATE, 'W') AS W /*SYSDATE가 속하는 주에서 같은 월 1일의 요일과 같은 요일의 일자*/
, TRUNC(SYSDATE, 'Q')-1 AS BQE /*전 분기 말일*/
, ADD_MONTHS(TRUNC(SYSDATE, 'Q'),-3) AS BQS /*전 분기초 1일*/
FROM DUAL
반응형
마무리...
기본적인 숫자 외에도 날짜 타입의 다양한 포맷을 이용하면
날짜 계산을 조금 더 쉽게 할 수 있을 것 같네요~ㅎ
'IT' 카테고리의 다른 글
[Javascript] 화살표 함수 (arrow function, ()=>{}) ??? (0) | 2023.05.31 |
---|---|
[Javascript] 변수 var, let, const 의 차이 (0) | 2023.05.26 |
휴대폰 언어 변경 방법(언어설정 방법) (0) | 2023.05.02 |
마이크로소프트 오피스365 무료 사용(MS OFFICE365 웹버전 무료) (2) | 2023.04.10 |
[엑셀] 오늘 날짜 자동 입력(함수, 단축키) (0) | 2023.02.17 |