데이터베이스

[오라클] 유용한 명령어 - 데이터변환

늘근이 2014. 5. 12. 10:54

TO_CHAR

 SELECT to_char(sysdate, 'yyyy/mm/dd hh24:mi:ss day') FROM ddong

이렇게 치면 날짜와 요일까지 잘 띄워준다. 월만 가지고오고싶으면 mm만 써주면 된다

넘버로 가져오고 싶으면 TO_NUMBER로 감싸면 된다.


TO_DATE

응용해보자. 날짜랑 그런거는 VARCHAR타입일수도 있고 DATE타입일수도 있다. 이걸 형식일치를 시켜줘야한다.

잘 비교를 해야하기 때문에 세심한 변환이 필수다.


 SELECT * FROM employee WHERE to_date(to_char(hiredate, 'yy/mm/dd'),'yy/mm/dd') = to_date('81/12/03','yy/mm/dd');



NVL

만약 보너스가 null인 사람을 가져오고싶은데, 0과 다를바가 없으니, null을 0으로 처리해주는 놈이 있다.


 SELECT empno, bonus FROM employee WHERE nvl(bonus, 0) = 0;


IS

null 값을 가지고 올때, where a = null이런식으로는 찾아지지 않는다. 저거 대신 where a is null이라고 써줘야한다


DECODE

 SELECT decode(substr('880106-1029456',8,1),'1','남','2','여','3','남','4','여') FROM ddong;


뒤에 주민번호 첫번째 꺼내서 성별을 구별할수 있는거임. 주민번호 가지고 성별값을 조회되도록 만든거임