Database/Oracle2008. 5. 29. 15:27
오늘 소스분석을 하면서 TRUNC() 함수를 보게 되었다.

truncate 의 줄임말인듯하다.
뜻은 절삭? 이라고 해야하나... 사전의 뒤져보는 치밀함까지는 나에게 없다;
대충 짐작하기에 절삭.. 혹은 내림? 정도로 생각하려고 한다.

SELECT SYSDATE FROM DUAL;

위 문장을 실행해보면 현재 날짜를 출력하여준다.

사용자 삽입 이미지


SYSDATE 는 DATE 형식으로 날짜를 출력해주는데..

TRUNC() 함수는 날짜 형식 또한 잘라낼수 있다.
내가 아는 바에 의하면 숫자와 날짜에 한해서만 동작하는것으로 알고 있다.

그럼 TRUNC() 함수를 사용해서 현재날짜를 절삭해보면..

SELECT TRUNC(SYSDATE) FROM DUAL;


위의 문장을 실행하면 된다.
결과값은

사용자 삽입 이미지

자동으로 오늘 날짜에서 시간이 떨어져 나가고 년-월-일 의 값으로 나온다.
조금더 명시적으로 표현해주자면 아래와 같이 써주어도 된다.

SELECT TRUNC(SYSDATE , 'DD') FROM DUAL;

위의 SQL 명령도 같은 결과값을 가진다.


그럼 이어서 여기에 날짜를 더하거나 빼거나 하고.. 절삭한후에 시간을 지정해주는 부분을 보자
조금 더 살펴봐야 알겠지만.. 너무나 쉽게도.. 그냥 더하고 빼면 된다 -_-;

SELECT TRUNC(SYSDATE+1) FROM DUAL;

위의 문장을 실행하게되면..

사용자 삽입 이미지

위의 결과값인 2008-05-29 에서 하루가 추가되는것을 볼 수 있습니다.
같은 방식으로 7을 더하면 일주일 후의 날짜가 나오겠죠?


SELECT TRUNC(SYSDATE+1)+1/24 FROM DUAL;

이번에 SQL 문을 실행하면 절삭하였던 시간을 다시 붙여줄수 있습니다.

사용자 삽입 이미지
기본적이 구문을 시작으로 간단한 응용까지 해봤습니다.
좀더 응용해보면 시간아래에  분/초 도 달수 있겠죠?

Posted by 햇 님
MyPlace/FavorutesSite2008. 5. 14. 14:54
사용자 삽입 이미지


http://www.gotapi.com/html

이곳은 각종 언어들 및 스크립트 언어 등등 다양한 언어들의 인스턴스 및 함수 등의
내용을 잘 정리하여서 보여주고 있으며,
주로 보는 곳은 HTML/DOM Object 쪽이나.. ORACLE 함수 관련된 부분을
자주 본다. 설명도 있거니와, 그에따른 실제 예제도 적혀있어서
따라하거나 보고 사용하기가 쉽다!

eng)
Quick reference search for HTML (including HTML, CSS, JavaScript, AJAX,  Web2.0)
and other software/technologies

이곳은 영문 사이트다~
Posted by 햇 님
Database/Oracle2008. 5. 14. 10:35
회사에서 소스를 파악하다가 쿼리문중에 decode 라는 함수를 보았다.
언젠가 본적이 있는거 같은데 생각이 안나서 열심히 뒤져보고 찾아보았다.

- 구문
DECODE({column | expression}, search1, result1 [,search2,result2] ... [,default] )

이와 같이 사용하면 된다.

설명을 하자면 일단은 맨처음에 decode 하고자하는 column을 적고 그 뒤에는
coulumn에 존재하는 찾을 값들을 적고, 그 뒤에 새롭게 쓰고자하는 값을 적어넣으면 된다.

emp 테이블로 간단하게 예를 들자면

select ename, job,
    decode(job, 'ANALYST', '분석가',
                'CLERK', '점원',
                'MANAGER', '관리자',
                'SALESMAN', '영업사원',
                'PRESIDENT', '사장님') as new_job
from emp;

위의 쿼리문을 실해하면 job 의 값에 따라서 new_job 컬럼에 대응되는 값들이
나타나게 된다.

참고글
 -
http://luckys.tistory.com/35

원문
 -
http://blog.naver.com/bleu_ciel/140037398850

Posted by 햇 님